使用web.config转换时ReplacableToken_?

sir*_*cco 76 web-config

我有一个带有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>
Run Code Online (Sandbox Code Playgroud)

我刚刚复制了给出的示例并用StrName替换了名称.我最终得到:

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

到底是什么ReplacableToken_?

我有另一个项目,它没有任何问题.

小智 128

如果像我一样,在尝试使用命令行中的msbuild自动化构建过程时遇到此问题,则可以在此博客条目中找到正确答案:

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

具体来说,您需要设置的参数是:

/ P:AutoParameterizationWebConfigConnectionStrings =假

这很可能是VS在您发布到文件系统时代表您做的事情

  • 晦涩的命令行开关赢了!感谢您发布除链接之外的实际设置.这确实应该被标记为解决方案. (5认同)
  • 你是一个救生员. (4认同)
  • 正是我在寻找的! (2认同)
  • 是的,有问题,找到了我自己的答案! (2认同)
  • 破碎的链接固定. (2认同)

And*_*que 27

如果要使用Visual Studio 2010进行构建,请将以下行添加到.csproj中的配置PropertyGroup:

<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
Run Code Online (Sandbox Code Playgroud)

更多细节: 如何完全摆脱web.config中的"$(ReplacableToken ...)"