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文件整齐地包装成一个神器。 –