1. ホーム
  2. c#

[解決済み] app.config/web.config内の変数について

2023-02-11 01:06:28

質問

の中で、以下のようなことは可能でしょうか? app.config または web.config のファイルですか?

<appSettings>
 <add key="MyBaseDir" value="C:\MyBase" />
 <add key="Dir1" value="[MyBaseDir]\Dir1"/>
 <add key="Dir2" value="[MyBaseDir]\Dir2"/>
</appSettings>

次に、私のコードでDir2にアクセスしたい場合は、単純にこう言います。

 ConfigurationManager.AppSettings["Dir2"]

これは、アプリケーションを異なるサーバや場所にインストールするときに役立ちます。 app.config . (コードですべての連結を管理できることは知っていますが、私はこの方法を好みます)。

どのように解決するのですか?

いい質問ですね。

ないと思います。簡単な方法があればかなり知られていると思いますが、Microsoft は Visual Studio 2010 で、デプロイ用とテスト用の異なる設定ファイルを展開するためのメカニズムを作成しているようです。

とは言うものの、しかし; 私は、あなたが ConnectionStrings セクションに "|DataDirectory|" という一種のプレースホルダーがあることがわかりました。もしかしたら、そこで何が行われているのか見てみることができるかもしれません...。

以下は machine.config がそれを示しています。

 <connectionStrings>
    <add
        name="LocalSqlServer"
        connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
        providerName="System.Data.SqlClient"
    />
 </connectionStrings>