2015-04-03 33 views
0

我目前正試圖設置使用MSBuild的自動化發佈,現在意識到它從MSBuild而不是Visual Studio中產生不同的輸出。我不知道我在這裏失去了什麼,但由於某種原因,它將不同的項目文件複製到路徑Web項目目錄中。從MSBuild發佈時發佈有不同的輸出

有沒有辦法使用MSBuild來模擬Visual Studio發佈?我目前正在做一個果園工程,認爲這值得一提。

這是我目前正在使用要做到這一點的命令:

/p:PublishProfile="exampleprofile";DeployOnBuild=true;VisualStudioVersion=12.0; 
FrameworkPathOverride="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v4.5"; 
PublishProfileRootFolder=%WORKSPACE%\src\Orchard.Web\Properties\PublishProfiles; 
Password=ExamplePass;Configuration=Release 
+0

你使用MSBuild時使用發佈任務嗎? (/ p:發佈) – Chirac 2015-04-06 10:21:00

+0

你有這樣的例子嗎?有多個發佈配置文件,所以我需要指定哪一個 – 2015-04-09 19:03:25

回答

0

至於我能理解,你要模擬一個ClickOnce發佈使用手動的MSBuild程序。您可以通過使用正確的參數調用msbuild來實現這一點。要模擬ClickOnce,目標發佈可供您使用。

msbuild MyProj.csproj /t:Publish 

根據您的規格,您必須能夠運行多個發佈配置,每個發佈配置都有其自己的輸出設置。爲了能夠運行多個配置文件,我建議你放棄PublishProfile屬性(我永遠無法理解如何得到它的工作),並切換到BuildEnvironment如這裏顯示:

https://wallism.wordpress.com/2009/12/21/msbuild-and-multiple-environments/ (專注於「設置自定義」部分)

你必須去適應你要的MSBuild調用包括構建環境

msbuild MyProj.csproj /t:Publish /p:BuildEnvironment=MyConfig 

只是一個小測試,讓你知道這是非常有用的,按照教程,創建目標,並添加一個

<PropertyGroup> 
    <PublishUrl> Add a custom path here </PublishUrl> 
    <InstallUrl> Add the same path here </InstallUrl> 
</PropertyGroup> 

到您的目標文件。

運行然後msbuild並讓我知道如果你解決了你的問題