0

當我打包web應用程序時,如何避免這些設置。由於* .SetParameters.xml發佈包時,Webconfig轉換不起作用

我可以看到下面的條目被添加,我不知道這些是從哪裏來的,我想在這裏阻止它們。

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 web項目

回答

0

當你構建和打包的Web應用程序,Web發佈管道將自動參數這些東西:

  1. 目標的IIS Web應用程序路徑和名稱。
  2. web.config文件中的任何連接字符串。
  3. 您添加到項目屬性頁中的打包/發佈SQL選項卡的任何數據庫的連接字符串。

'IIS Web Application Name'會自動添加到參數集合中。對於其他AD參數,請檢查您的配置文件,您是否在connectionStrings部分中定義它們?如果是,他們也會自動添加到包參數集合中。爲了避免添加這些參數,可以將它們移動到appSettings部分。

我不希望它被自動添加

要禁用自動連接字符串參數,你可以使用msbuild.exe部署Web應用程序並添加[/ P:AutoParameterizationWebconfigConnectionstrings =假]參數傳遞給msbuild命令。下面的示例命令供您參考。

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

那就是我已經解釋過的行爲。我不希望它被自動添加 – afr0

+0

我根據您的評論更新了我的回覆。 – Amor