2

私は app.config ファイルとして 1 つのファイルを追加した c# で 1 つの Windows アプリケーションを作成しています。

    <appSettings>
       <add key ="FlagForArchiving" value="true"/>
    </appSettings>

「program.cs」ファイルでは、この値を次のように読んでいます

ConfigurationSettings.AppSettings["FlagForArchiving"].ToString();

ローカル マシンでは構成ファイルから値を取得できますが、そのアプリケーションをビルドして他のマシンで実行しているときはいつでも、構成ファイルから値を読み取ることができません。Windows 7 でアプリケーションを実行しようとしています。前進。

4

2 に答える 2

1

app.config<MyProgramName>.exe.configビルド時に名前が変更されます。プログラムを実行すると<MyProgramName>.exe.config、ではなくそのファイルが検索されますapp.config

<MyProgramName>.exe.config名前を変更したファイル( )をプログラムと一緒にデプロイする必要があります。

あなたの場合、、、、およびに依存する他のファイル(たとえばOBViewer.exe、デバッグ/リリースディレクトリ内の他の.dllアセンブリ)をコピーする必要があります。OBViewer.exe.configOBViewer.exe

ちなみに、この名前が変更されたファイルは、同じファイル名を持っていなくても、一般に「app.config」と呼ばれます。

于 2011-11-17T07:30:53.017 に答える
-1

app.config ファイルが他のマシンに存在しますか? 読む前に、存在するかどうかを確認してください

あなたが得る例外は何が間違っていると言っています:「FileNotFoundException」

ここで編集 するのが正しい方法です!

if (File.Exists(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile))
{
    MessageBox.Show(ConfigurationSettings.AppSettings["FlagForArchiving"].ToString());
}
于 2011-11-17T07:10:38.190 に答える