web-dev-qa-db-ja.com

コードをデバッグするときにWeb.configは変換されません

メインのWeb.configファイルがあり、その下にWeb.Test.configWeb.Development.Configなどがあります。

テスト構成でSlowCheetahを使用して変換をプレビューすると、値が正しく変換されているように見えます。

ビルド環境を開発からテストに切り替えてアプリケーションをデバッグしようとすると、アプリケーションはメインWeb.configファイルにある値で実行されます(つまり、何も変換しません)。

常にベースWeb.configファイルを使用するのではなく、デバッグ時にビルド環境に正しい構成を選択させるにはどうすればよいですか?これは可能ですか?

21
mameesh

ビルド時にWeb.configを変換できます。このターゲットを*.csprojファイルに追加します。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
    <TransformXml 
        Source="Web.Base.config" 
        Transform="Web.$(Configuration).config" 
        Destination="Web.config" />
</Target>

Originの設定をWeb.Base.configに保存します。変換を有効にすれば十分であり、どのXML構成ファイルでも機能します。 SlowCheetahはもう必要ありません。

http://sebnilsson.com/a5410281/asp-net-transform-web-config-with-debug-release-on-build/

39
Ilya Chumakov

XML変換は、ビルド中ではなく、Webアプリを公開するときにのみ適用されます。

これは ブログ投稿 ビルド設定を使用した回避策の詳細です。

5