質問

参照されている.NET Framework 2.0アセンブリがIISでホストされているWCFサービスで次のコード行を実行しようとしたときにエラーが発生しました:

エラーメッセージ:

  

exePathは、指定されていない場合に指定する必要があります   スタンドアロンのexe内で実行します。

ソースコード:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

この問題を経験した人はいますか?解決方法を知っていますか?

編集:私の質問は、.NET 2.0アセンブリと下位互換性のあるWCFサービスから構成ファイル(app.configおよびweb.config)を開く最良の方法は何ですか?

役に立ちましたか?

解決 2

既存のコードを事前の回答から削除し、次のConfigurationManager実装に置き換えることで、構成の問題を解決できました。

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

ASP.NETアプリケーション、WinFormsアプリケーション、およびWCFサービスで機能する場合。 3年前にクラスライブラリの初期実装を過剰に設計しました。...

他のヒント

参照される.NET 2.0アセンブリは、一般的なタスクを処理するためにエンタープライズライブラリ用に開発したクラスライブラリの一部です。 ASP.NETおよびWinFormアプリケーションで使用することを目的としていました。

これは、開く構成ファイルのタイプを決定するために使用したソースコードです。

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

何を達成しようとしているかによって異なります。 ASP.NETでは、通常、このようなものにはConfigurationManagerを使用せず、代わりにWebConfigurationManagerを使用します。ただし、実際にはOpenExeConfigurationで許可されているユーザー/ローミング/その他のものはWebアプリケーションでは意味をなさないため、まったく同じものはありません。

何のために必要ですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top