由于* .SetParameters.xml

时间:2017-03-17 03:53:57

标签: asp.net-mvc web-config azure-web-sites web.config-transform

当我打包我的网络应用程序时,如何避免这些设置。

我可以看到添加了以下条目,我不知道这些来自哪里,我想在这里阻止它们。

2>Adding declared parameter 'IIS Web Application Name'.
2>Adding declared parameter 'AD_APPIDUri'.
2>Adding declared parameter 'AD_MetadataUrl'.
2>Adding declared parameter 'AD_RealmAppSetting'.
2>Adding declared parameter 'AD_AudienceUriAppSetting'.
2>Adding declared parameter 'AD_Domain'.
2>Adding declared parameter 'AD_Issuer'.

我已阅读有关SetParameters.xml和parameters.xml文件的文档,我的解决方案文件下没有parameters.xml我自己添加了一个空文件但仍然可以看到以下操作。这些操作搞乱了我的项目 .SetParameters.xml,这导致我发布时不正确的webconfig转换。

请注意,转换预览向我展示了我真正想要的东西,但是一些发布包将它变成了一团糟。

我正在使用VS2015和ASP.NET MVC 5网络项目

1 个答案:

答案 0 :(得分:0)

在构建和打包Web应用程序时,Web Publishing Pipeline将自动对这些内容进行参数化:

  1. 目标IIS Web应用程序路径和名称。
  2. web.config文件中的任何连接字符串。
  3. 您添加到项目属性页中的“打包/发布SQL”选项卡的任何数据库的连接字符串。
  4. ' IIS Web应用程序名称'自动添加到参数集合中。对于其他AD参数,请检查配置文件,是否在connectionStrings部分中定义它们?如果是,它们也将自动添加到包参数集合中。要避免添加这些参数,可以将它们移动到appSettings部分。

      

    我不希望自动添加

    要禁用自动连接字符串参数,可以使用msbuild.exe部署Web应用程序并将[/ p:AutoParameterizationWebconfigConnectionstrings = False]参数添加到msbuild命令。以下示例命令供您参考。

    msbuild WebApplication1.csproj /p:DeployOnBuild=true /p:PublishProfile=yourProfileName /p:AutoParameterizationWebconfigConnectionstrings=False