ビルドしているasp.net MVC3 Webアプリケーションで、環境固有の構成の束をしようとしています。私はプラットフォームに若干新しく、環境固有の設定で少し問題に走っています。Web.configの環境固有のcustomSectionプロパティ
私は3つのコンフィギュレーションファイルがあります。
- Web.configファイルを
- Web.Debug.config私は私のConnectionString設定を配置した
:
<configSections>
<section name="GitHubConfig" type="SmartGigs.Controllers.GitHubConfig" />
<section name="JanRainConfig" type="SmartGigs.Services.JanRainConfig" />
</configSections>
それから私は実際にWeb.configファイルで、このようにそれらを定義します。
<GitHubConfig ClientId="c" Secret="s" />
そしてロードしようこれらは次のようになります。
var jrConfig = (JanRainConfig)WebConfigurationManager.GetSection("JanRainConfig");
var gitHubConfig = (GitHubConfig) WebConfigurationManager.GetSection("GitHubConfig");
最後に、Web.Debug.configにDebug固有のプロパティを追加します。
<JanRainConfig Key="key" TokenUrl="http://localhost:55739/Account/LogOn" />
問題
私はWeb.configファイルで定義されたプロパティを取得する場合、それは完璧に動作します。 Web.configでプロパティを定義するだけ、またはWeb.Debug.configでプロパティを定義して上書きしようとすると(xdt:Transform = "Replace"を追加する)、プロパティ設定は空白(前者の場合)またはWeb.configの設定(後者) - Web.Debug.configの設定が無視されているかのように。
私がしようとしていることを達成する正しい方法は何ですか?
AFAIKプラットフォーム固有の設定は、Visual Studioを使用してアプリケーションを公開する場合にのみ認識されます。あなたの質問から私はあなたがVSからプロジェクトを開始しているのか、それを実際にIISに公開したのかを推測することはできません。 –
私はVisual Studioでそれを開始しています。実際、あなたのコメントは、私の問題を解決する道を私に導いてくれました。私はWeb.configトランスフォームの仕組みがどう元気に誤解されていましたか。あなたのコメントを回答に変換するなら、私はそれを受け入れます。ありがとう! –