我正在尝试在我的Web.config中参数化appSettings条目。由于这是一个相当长的构建过程的一部分,我想在我们的CI服务器上尝试之前验证我的参数化是否真正有效(即试验和错误不是一个好主意)。
因此,如果我使用/T:Package
运行MSBuild来创建我的包,我希望创建的.zip文件包含一个Web.config,我的appSetting条目被标记化,就像连接字符串被标记化一样。
但是,到目前为止,我没有得到我预期的结果。我的假设错了吗? 是否可能在实际部署步骤中首先发生标记化/替换?
这是标记化的web.config。请注意我的appSetting没有被标记化:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<lots of stuff here...>
<connectionStrings>
<add name="DefaultConnection" connectionString="$(ReplacableToken_DefaultConnection-Web.config Connection String_0)" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="mySetting" value="monkey"/> <!-- Shouldn't monkey this be tokenized? -->
</appSettings>
<rest of web config here ...>
答案 0 :(得分:1)
在Web发布MSBuild目标中处理con字符串标记化。它不是Web Deploy本身的一部分。在您的方案中,我希望创建包并且不修改应用程序设置。
创建包时,有两种方法可以看到参数:
使用msdeploy.exe并传递GetParamters - http://technet.microsoft.com/en-us/library/dd569044(v=ws.10).aspx
您可以破解打开.zip文件并查看其中的参数文件