2016-02-22 39 views
1

我在解決方案中有一個項目,Visual Studio Team Services設置爲進行連續構建。Web Api項目無法使用Visual Studio Team Services進行構建(已在TFS Online中)

包含Web API項目的測試項目可以很好地構建,甚至包括來自web api項目的構件,但是當我從工件視圖查看放置文件夾時,它沒有該網站的子文件夾。

這是通過使用骨骼庫存設置的新默認Visual Studio構建定義完成的。 (沒有任何玩的工作要麼)

(我會把一個屏幕截圖,但從字面上只是創建一個新的構建定義爲選擇視覺工作室和持續集成,點擊確定,這正是這是什麼。)

構建步驟的日誌文件未顯示它甚至嘗試爲web api項目構建csproj,並跳到Tests項目的右側。 (並且日誌中也沒有錯誤)

轉到該配置(以及所有配置)的配置管理器,並將相關項目設置爲構建。

它在該配置中正確構建,該項目很好。 它從Visual Studio發佈該項目就好了。

任何想法,爲什麼它不會建立項目?

+0

您是否設置了要構建的項目?它非常難以幫助,沒有任何截圖或錯誤。現在任何事情都會有幫助。 – chief7

+0

如上所述,包括這個項目在內的所有項目都設置爲構建。沒有屏幕截圖,因爲它是默認的默認設置,除了沒有任何項目構建日誌以外,日誌文件中沒有任何內容。 –

+0

在構建上設置的配置是什麼?調試/發佈,任何CPU等。 – chief7

回答

3

根據您提供的信息,您正在使用Visual Studio CI的默認構建定義,而沒有任何其他設置。此定義不會生成Web應用程序發佈文件。

嘗試在「Visual Studio中構建」步驟,然後排隊一個新的版本中加入以下的MSBuild參數:

/p:DeployOnBuild=true /p:outdir=$(build.artifactstagingdirectory) 

更新: 既然你要部署通過Azure的部署,從發佈管理的網站,你只需上傳部署包即可。要做到這一點,改變的MSBuild參數到以下幾點:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:PackageLocation="$(build.artifactstagingdirectory)\\" 

然後你可以去釋放Managament,在「Azure的Web應用程序部署」步,設置「Web部署包」到「$(System.DefaultWorkingDirectory )\ ** \ ProjectName.zip」。

+0

因此,這會在/ drop/_PublishedWebsites/ _Package中生成一個文件夾。 (這是郵編等) 它還創建一個不帶下劃線的文件,其中包含所有丟失文件。 然後問題變爲將發佈部署到Azure。我已將Azure Deploy步驟設置爲使用...因此我沒有犯任何錯誤: $(System.DefaultWorkingDirectory)\ \ drop \ _PublishedWebsites \ _Package 但是當我這樣做時,我得到: 找不到搜索模式部署的文件C:\ a \ c647c4ef4 \ <構建定義> \ drop \ _PublishedWebsites \ <項目名稱> _Package –

+0

它說它下載了大量文件在發佈的前一個步驟中。我錯過了什麼? –

+0

@JamesHancock查看我更新的答案以獲取詳細信息。 –

相關問題