VSTS 无法构建我非常非常简单的 ASP.NET 核心应用程序

VSTS fails to build my really really simple ASP.NET Core app

下面的很简单,但是失败了。怎么了?

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

在以前的版本中,这会创建一个 Web 部署包,这正是我想要的。

NuGet 步骤成功。

构建步骤一直运行到它记录...

_TransformWebConfig:

...然后...

No web.config found. Creating 'C:\a\s\src\WebApp\obj\Release\net462\win7-x86\PubTmp\Out\web.config'

...和...

Microsoft.NET.Sdk.Publish.MSDeployPackage.targets(124,7): Error MSB4184: The expression "[System.IO.Path]::GetDirectoryName('')" cannot be evaluated. The path is not of a legal form.

您可以使用 ASP.NET Core(预览版)构建模板,它通过 dotnet 工具发布 .Net Core 应用程序。

  1. 创建新的构建定义
  2. Select ASP.NET 核心(预览版)构建模板

我想下面的文章会有答案。

https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure.

总而言之,不要使用 Visual Studio 进行构建,而是使用 CLI,即

dotnet.exe publish -c $(BuildConfiguration) -o $(Build.ArtifactStagingDirectory)

此问题已修复:https://github.com/aspnet/websdk/issues/106

在 VSTS 中使用的示例命令行和语法(ASPNET Core 模板应该已经在模板中):https://github.com/vijayrkn/ASPNetPublishSamples/blob/bff9f78d796668dc07d5e28a8b93531caade839c/Publish.cmd#L102-L127