2014-09-11 35 views
1

我用下面的命令行發佈的ASP.NET網站:是否有可能使用的MSBuild發佈的ASP.NET網站,只指定發佈配置文件(配置參數沒有設置)

msbuild.exe "C:\somerepository/solution.sln" /p:Configuration="Production" 
      /p:DeployOnBuild=true /p:PublishProfile="Production" 

它的工作原理。但是,我必須指定發佈配置文件和配置。 如果未設置配置參數,則不起作用(發佈後,web.config未使用正確的配置文件進行轉換)。

當你(在該項目通過右擊並選擇發佈)使用的接口,只要求你選擇一個配置文件(並基於該配置文件讀取配置,也沒有必要將其指定):

enter image description here

msbuild命令行可以使用相同的機制嗎?

我也試圖指定項目(而不是解決方案),但它不工作:

msbuild.exe "C:\somerepository/project.csproj" /p:Configuration="Production" 
      /p:DeployOnBuild=true /p:PublishProfile="Production" 

回答

-1

您可以編輯.csproj,並添加一個新的條件Configuration財產。不幸的是,您不能在.pubxml之內覆蓋它,因爲它無法生效Import左右。

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
<Configuration Condition=" '$(PublishProfile)' != '' ">$(PublishProfile)</Configuration> 
相關問題