IVsApplicationConfiguration - интерфейс
Предоставляет интерфейс для использования при работе с файлами конфигурации.
Пространство имен: Microsoft.VisualStudio.ManagedInterfaces9
Сборка: Microsoft.VisualStudio.ManagedInterfaces.WCF (в Microsoft.VisualStudio.ManagedInterfaces.WCF.dll)
Синтаксис
'Декларация
Public Interface IVsApplicationConfiguration _
Inherits IDisposable
public interface IVsApplicationConfiguration : IDisposable
public interface class IVsApplicationConfiguration : IDisposable
type IVsApplicationConfiguration =
interface
interface IDisposable
end
public interface IVsApplicationConfiguration extends IDisposable
Тип IVsApplicationConfiguration предоставляет следующие члены.
Методы
Имя | Описание | |
---|---|---|
![]() |
Dispose | Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов. (Унаследовано от IDisposable.) |
![]() |
FileExists | Возвращает значение, указывающее, существует ли файл конфигурации на диске. |
![]() |
FilePath | Возвращает путь к файлу конфигурации. |
![]() |
LoadConfiguration | Загружает конфигурацию для данной иерархии и itemid. |
![]() |
QueryEditConfiguration | Определяет, является ли файл конфигурации может быть изменен. |
В начало страницы
События
Имя | Описание | |
---|---|---|
![]() |
ConfigurationChanged | Происходит, когда конфигурация проекта изменилась. |
В начало страницы
Заметки
IVsApplicationConfiguration программа-оболочка для интерфейса Configuration объекты.
Используйте IVsApplicationConfiguration предоставлять уведомления и управление исходным кодом изменения для всех файлов конфигурации в иерархии конфигурации для текущего проекта. Он также может использоваться для координации изменений к базовым текстовым буферы между данным экземпляром и другими редакторами, могут быть открыты файла конфигурации.
IVsApplicationConfiguration также выполняет обработку изменений уведомления, вызванные, добавление, удаление и перемещение файлов конфигурации и папки таким образом, что может привести к конфигурации для заданной иерархии или itemid, который будет недействителен. Он также уведомляет клиентов, зарегистрирован для уведомлений изменения конфигурации.
Примеры
В следующем примере кода демонстрируется применение IVsApplicationConfiguration интерфейс, чтобы изменить файл конфигурации.
/// Make sure that our custom WSDL importer extension is registered in /// the Metadata section of the configuration file for the current
/// project hierarchy and serviceProvider that gives access to required
/// services.
private static void EnsureCustomWsdlImporterRegistered
(IVsHierarchy hierarchy, IServiceProvider serviceProvider)
{
/// The IVsApplicationConfigurationManager service returns a
/// System.Configuration.Configuration object corresponding to
/// the given project's app.config or web.config file.
IVsApplicationConfigurationManager cfgMgr =
serviceProvider.GetService(typeof(IVsApplicationConfigurationManager))
as IVsApplicationConfigurationManager;
// Return the current application's configuration file by using
// the IVsApplicationConfiguration APIs. Make sure that the
// instance that is returned is disposed of correctly in order
// to clean up any event hooks or docdatas.
using (IVsApplicationConfiguration appCfg =
cfgMgr.GetApplicationConfiguration(hierarchy,
Microsoft.VisualStudio.VSConstants.VSITEMID_ROOT))
{
System.Configuration.Configuration cfg =
appCfg.LoadConfiguration();
// Check the file out from Source Code Control if it
// exists.
appCfg.QueryEditConfiguration();
/// After a System.Configuration.Configuration object
/// exists, use the"normal" .NET Framework configuration
/// APIs to return the sections that you want to modify.
ServiceModelSectionGroup sg =
ServiceModelSectionGroup.GetSectionGroup(cfg);
Type importerType = typeof(BindingPickerWsdlImportExtension);
if (!IsWsdlImporterRegistered(sg, importerType))
{
// If our custom WSDL importer is not registered, add
// it to the application's configuration file.
sg.Client.Metadata.WsdlImporters.Add(new
WsdlImporterElement(importerType));
cfg.Save();
}
}
}
См. также
Ссылки
Microsoft.VisualStudio.ManagedInterfaces9 - пространство имен