msbuild – 如何忽略SetParameter.xml中的连接字符串参数
发布时间:2020-12-16 23:18:51 所属栏目:百科 来源:网络整理
导读:我正在使用msDeploy(3.0)来部署我的MVC应用程序.我有一个构建管道,为msdeploy生成构建工件,我的部署管道在将其部署到生产实例之前,在Web.config上应用适当的web.config转换.其中一个转换包括对连接字符串的更改.但是,查看已部署的实例,我的web.config转换似
我正在使用msDeploy(3.0)来部署我的MVC应用程序.我有一个构建管道,为msdeploy生成构建工件,我的部署管道在将其部署到生产实例之前,在Web.config上应用适当的web.config转换.其中一个转换包括对连接字符串的更改.但是,查看已部署的实例,我的web.config转换似乎被构建工件中setParameters.xml中的参数覆盖.
理想的行为是我将避免将任何连接字符串添加到SetParameter.xml,以便我的所有连接字符串覆盖仅由我的部署管道控制.我如何实现这一目标? 下面是SetParameters.xml文件的示例 <parameters> <setParameter name="IIS Web Application Name" value="Default/Foo"/> <setParameter name="Foo-Web.config Connection String" value="Server=Foo,1433;Database=Bar;Integrated Security=SSPI;MultiSubnetFailover=True;App=Something;Connection Timeout=25"/> </parameters> 理想情况下,它看起来像 <parameters> <setParameter name="IIS Web Application Name" value="Default/Foo"/> </parameters> 我已经尝试将parameters.xml文件传递给msbuild步骤,该步骤不包含连接字符串参数但不起作用 解决方法
在我的头靠在墙上几个小时后,我终于找到了解决办法. MsBuild接受一个参数-p:AutoParameterizationWebConfigConnectionStrings = false,以防止连接字符串被参数化.不幸的是,这个参数很少或没有文档.
您还可以在每个项目的基础上添加此项 <AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings> 到构建配置的PropertyGroup. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |