web.configトランスフォームを使用する場合のReplacableToken_?


83

デバッグ用とリリース用の2つの変換を含むweb.configがあります。

web.config:

<connectionStrings>
    <clear />
    <add name="StrName" connectionString="data source=.\sqlexpress;User Id=sa;Password=pass;Database=SocialBot;"
                providerName="System.Data.SqlClient" />
</connectionStrings>

与えられた例をコピーして、名前をStrNameに置き換えました。私は最終的に:

<add name="StrName" connectionString="$(ReplacableToken_SocialBotConnectionString-Web.config Connection String_0)"
                providerName="System.Data.SqlClient" />

ReplacableToken_とは一体何ですか?

別のプロジェクトがあり、問題なく動作します。

回答:


139

私のように、コマンドラインからmsbuildを使用してビルドプロセスを自動化しようとしているときにこの問題が発生した場合、正しい答えは次のブログエントリにあります。

http://www.zvolkov.com/clog/2010/05/18/how-to-packagepublish-web-site-project-using-vs2010-and-msbuild/

具体的には、設定する必要のあるパラメータは次のとおりです。

/p:AutoParameterizationWebConfigConnectionStrings=False

これは、ファイルシステムに公開するときにVSがユーザーに代わって実行している可能性が最も高いです。


2
まさに私が探していたものです!
ジェレミースミス

2
やった、問題があった、私自身の答えを見つけた!
zvolkov 2012

5
勝つためのあいまいなコマンドラインスイッチ!リンクに加えて実際の設定を投稿していただきありがとうございます。これは本当に解決策としてマークする必要があります。
longda 2014

デッドリンク。少なくともあなたはあなたの答えに設定を含めました:)
iandayman 2015年

1
いよいよ答え!! あなたは私の日(または夜)を救った!
Fabricio 2015年

30

Visual Studio 2010でビルドする場合は、.csprojの構成PropertyGroupに次の行を追加します。

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

詳細はこちら: web.configの「$(ReplacableToken ...)」を完全に取り除く方法


1
+1これにより、[Build Deployment Package]をクリックして、変換されたweb.configを取得できます。
Chad Schouggins 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.