Question

J'ai reçu une erreur lorsqu'un assembly .NET Framework 2.0 référencé a tenté d'exécuter la ligne de code suivante dans un service WCF hébergé par IIS:

Message d'erreur:

  

exePath doit être spécifié s'il ne l'est pas   courir à l'intérieur d'un exe autonome.

Code source:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Quelqu'un at-il rencontré ce problème et sait-il le résoudre?

EDIT: Ma question est la suivante: quel est le meilleur moyen d'ouvrir un fichier de configuration (app.config et web.config) à partir d'un service WCF compatible avec un assemblage .NET 2.0?

Était-ce utile?

La solution 2

J'ai pu résoudre le problème de configuration en supprimant le code existant de ma réponse provious et en le remplaçant par l'implémentation ConfigurationManager suivante:

string MySetting = ConfigurationManager.AppSettings.Get("MyAppSetting");

Si fonctionne avec les applications ASP.NET, les applications WinForms et les services WCF. Je viens de sur-concevoir la mise en œuvre initiale de ma bibliothèque de classe il y a 3 ans ....

Autres conseils

L'assembly .NET 2.0 référencé fait partie d'une bibliothèque de classes que j'ai développée pour notre bibliothèque d'entreprise afin de gérer les tâches courantes. Il était destiné à être utilisé dans les applications ASP.NET et WinForm.

Voici le code source que j'ai utilisé pour déterminer le type de fichier de configuration à ouvrir:

//Open app.config or web.config file
if (HttpContext.Current != null)
    this.m_ConfigFile = WebConfigurationManager.OpenWebConfiguration("~");
else
    this.m_ConfigFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Cela dépend de ce que vous essayez d'accomplir. Sur ASP.NET, vous n’utiliseriez normalement pas ConfigurationManager pour des tâches de ce type, mais WebConfigurationManager. Cela dit, il n’ya pas d’équivalent exact car, dans la réalité, les fonctionnalités utilisateur / itinérance / etc. permises par OpenExeConfiguration n’ont aucun sens pour une application Web.

Pourquoi en avez-vous besoin?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top