使用 web.config 转换时的可替换令牌_?
Posted
技术标签:
【中文标题】使用 web.config 转换时的可替换令牌_?【英文标题】:ReplacableToken_ when using web.config transform? 【发布时间】:2011-04-07 11:44:03 【问题描述】:我有一个带有 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_ 到底是什么?
我有另一个项目,它在那里没有问题。
【问题讨论】:
【参考方案1】:如果您像我一样在尝试使用命令行中的 msbuild 自动化构建过程时遇到此问题,可以在此博客条目中找到正确答案:
http://www.zvolkov.com/clog/2010/05/18/how-to-packagepublish-web-site-project-using-vs2010-and-msbuild/
具体来说,需要设置的参数是:
/p:AutoParameterizationWebConfigConnectionStrings=False
当您发布到文件系统时,这很可能是 VS 代表您所做的事情
【讨论】:
正是我想要的! 耶,有问题,找到我自己的答案! 为了胜利而使用晦涩的命令行开关!感谢您发布除了链接之外的实际设置。这确实应该被标记为解决方案。 死链接。至少您在答案中包含了设置:) 终于有答案了!!你拯救了我的一天(或夜晚)!【参考方案2】:如果您想使用 Visual Studio 2010 进行构建,请将以下行添加到 .csproj 中的配置 PropertyGroup:
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>
更多细节在这里: How to get rid of "$(ReplacableToken...)" in web.config completely
【讨论】:
+1 这就是允许您单击“构建部署包”以获取转换后的 web.config 的原因。以上是关于使用 web.config 转换时的可替换令牌_?的主要内容,如果未能解决你的问题,请参考以下文章