Frage

erhielt ich einen Fehler, wenn eine referenzierte .NET Framework 2.0 Anordnung, die die folgende Codezeile in einem IIS-gehosteten WCF-Dienst auszuführen versucht:

Fehlermeldung:

  

ExePath muss angegeben werden, wenn sie nicht   läuft in einem Stand-alone-exe.

Source Code:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Hat jemand dieses Problem erfahren und wissen sie, wie es zu lösen?

EDIT: Meine Frage ist, was ist der beste Weg, um eine Konfigurationsdatei (app.config und web.config) zu öffnen, von einem WCF-Dienst, der rückwärts mit .NET 2.0 Montage kompatibel ist?

War es hilfreich?

Lösung 2

Ich konnte das Konfigurationsproblem lösen, indem Sie den vorhandenen Code aus meiner provious Antwort zu entfernen und durch die folgenden Konfigurationsmanager Implementierung zu ersetzen:

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

Wenn Arbeiten für ASP.NET-Anwendungen, WinForms-Anwendungen und WCF-Dienste. Ich habe gerade overengineered die anfängliche Umsetzung meiner Klassenbibliothek vor 3 Jahren ....

Andere Tipps

Die referenzierte .NET 2.0 Montage ist Teil einer Klassenbibliothek ich für unser Unternehmen Bibliothek entwickelt, um gemeinsam taskes zu behandeln. Es war beabsichtigt, in ASP.NET und Windows Forms-Anwendungen verwendet werden.

Hier ist die Quellcode ich verwenden, um zu bestimmen, welche Art von Konfigurationsdatei zu öffnen:

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

Es hängt davon ab, was Sie erreichen wollen. Auf ASP.NET, würden Sie normalerweise nicht Configuration für Sachen wie diese, aber WebConfigurationManager statt. Das heißt, es gibt keine genaue Entsprechung, da in Wirklichkeit der Benutzer / Roaming / etc Sachen, die OpenExeConfiguration erlaubt keinen Sinn auf eine Web-Anwendung machen.

Was brauchen Sie es?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top