gpt4 book ai didi

msbuild - 如何忽略SetParameter.xml中的连接字符串参数

转载 作者:行者123 更新时间:2023-12-04 23:17:09 26 4
gpt4 key购买 nike

我正在使用msDeploy(3.0)部署我的MVC应用程序。我有一个生成管道,用于为msdeploy生成生成工件,并且我的部署管道在将它部署到生产实例之前,在Web.config上应用了适当的web.config转换。转换之一包括对连接字符串的更改。但是,查看已部署的实例,似乎我的web.config转换已被我的构建工件中的setParameters.xml中的参数覆盖。

理想的行为是,我将避免将任何Connection字符串添加到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。

关于msbuild - 如何忽略SetParameter.xml中的连接字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com