0

我正在使用Visual Studio Team Services。我創建了一個簡單的ASP.NET網站,並創建了包含默認設置的Build定義。VSTS上的持續集成 - 構建定義:無文件 - System.AggregateException

enter image description here

提交修改後,此版本採用CI觸發。該「生成解決方案」步驟工作正常,但是沒有文件在複製文件步驟發現:

enter image description here

我已經創建了一個簡單的控制檯應用程序相同的生成定義,構建和發佈正在工作。

當創建從這個構建一個版本,它未能部署(我猜是因爲沒有文件中發現的(構建過程)),並提供了以下錯誤:

enter image description here

+0

你通過覆蓋在的MSBuild'outdir'財產? –

+0

我沒有使用MSBuild。 – Coding

+0

嘗試將複製文件的內容字段更改爲\ **並檢查拷貝 – ds19

回答

2

當你建立天冬氨酸。具有默認VSBuild定義的網絡項目文件夾bin\$(BuildConfiguration)\不存在。因此,「複製文件」任務無法找到具有默認設置的任何文件。一個簡單的方法來解決你的問題是「的MSBuild參數」以VSBuild任務添加/p:outdir=$(build.artifactstagingdirectory)如下:

Add custom arguments to MsBuild

而且,由於「發佈打造神器」任務發佈的文件,你也可以去掉「複製文件」任務在$(build.artifactstagingdirectory)文件夾中,並且您已經使用在VSBuild任務中添加的參數將生成輸出設置爲該文件夾。

更新: 您可以添加「複製文件」任務以下設置複製「羅斯林」文件夾「bin」文件夾: enter image description here

+0

關於進一步的簡化,NuGet Installer實際上是否需要?我不使用它,只是發生包恢復。 –

+1

@GrahamSmith這取決於你的項目。如果您的項目中包含Nuget軟件包引用,則無法刪除它。一般來說,如果你使用VS Template創建Asp.Net項目,那麼它是必需的,因爲模板使用了很多nuget包引用。如果nuget包在構建之前未恢復,則構建將失敗。 –

+0

爲了讓這個階段更進一步,您可以使用** $(build.stagingDirectory)\ _ PublishedWebsites **作爲** Copy and Publish Build Artifacts **任務的** Copy Root **屬性來獲取您的Web文件整齊地包裝成一個神器。 –