Partager via


IVsApplicationConfiguration.QueryEditConfiguration, méthode

Détermine si un fichier de configuration peut être modifié.

Espace de noms :  Microsoft.VisualStudio.ManagedInterfaces9
Assembly :  Microsoft.VisualStudio.ManagedInterfaces.WCF (dans Microsoft.VisualStudio.ManagedInterfaces.WCF.dll)

Syntaxe

'Déclaration
Function QueryEditConfiguration As Boolean
bool QueryEditConfiguration()
bool QueryEditConfiguration()
abstract QueryEditConfiguration : unit -> bool
function QueryEditConfiguration() : boolean

Valeur de retour

Type : Boolean
true si le fichier de configuration peut être modifié ; sinon false.

Notes

Les appels de méthode d'QueryEditConfiguration la méthode d'QueryEditFiles à déterminer si le fichier de configuration peut être modifié. Si le fichier n'existe pas, un fichier de configuration par défaut (si à la racine de niveau du projet) ou un fichier de configuration vide sera créé.

Notes

Si le projet est sous le contrôle de code source, cette action provoquera le fichier projet à vérifier et le projet d'être rechargé.

Si la méthode entraîne un fichier de configuration étant ajouté au projet, tout objet précédemment retourné de configuration est affiché valide. Notifié des clients qui se sont enregistrés pour un gestionnaire pour l'événement d'ConfigurationChanged que le fichier a été ajouté.

Exemples

L'exemple de code suivant montre comment utiliser la méthode d'QueryEditConfiguration pour déterminer si un fichier de configuration peut être modifié.

/// 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();
        }
    }
}

Sécurité .NET Framework

Voir aussi

Référence

IVsApplicationConfiguration Interface

Microsoft.VisualStudio.ManagedInterfaces9, espace de noms