加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读