33

Web アプリケーションを使用している場合、以下のコード行

Configuration objConfig = 
    ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None);

クラスライブラリでこのエラーが発生しています:

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

以前はコンソール アプリケーションが使用されていたため、コードはapp.config. クラスライブラリを使用しようとしましたSystem.Web.Configurationが、「参照の追加」の.Netタブにdllが存在しませんでした。

親切に助けてください:)

4

3 に答える 3

50

Web コンテキストで別の構成マネージャーを使用する必要があります。次のコード ブロックは、これに対処する方法の例を示しています。

System.Configuration.Configuration configuration = null;         
if (System.Web.HttpContext.Current != null)
{
   configuration =
       System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
}
else
{
  configuration =
      ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
}
于 2013-11-19T17:23:15.720 に答える
2

あなたが何をしているのかわかりません。しかし、一見すると、Web 環境で WinForms アプリケーション用に記述されたコードを使用しようとしているように見えます。Web アプリには必要なアクセス許可がないため、これはほぼ確実に機能しません。
Web環境でこれを行う方法を調べてみてください(構成ファイルを扱っているように見えるので、WEB.CONFIGで検索してみてください)

于 2013-05-23T18:02:22.597 に答える