【问题标题】:VSTS fails to build my really really simple ASP.NET Core appVSTS 无法构建我非常简单的 ASP.NET Core 应用程序
【发布时间】:2017-04-17 06:52:41
【问题描述】:

以下内容如此简单,但它失败了。怎么了?

  • 我在 Visual Studio 2017 中创建了一个新的 ASP.NET Core Web 应用程序 (.NET Framework 4.6.2)。

  • 我没有对默认模板进行任何更改,而是将其推送到 VSTS。

  • 我通过以下两个步骤在 VSTS 中创建一个新的构建定义:

    1. NuGet 恢复
    2. Visual Studio 构建
  • 我将 NuGet 步骤更新为使用版本 4.0.0

  • 我更新了定义以使用托管 VS2017 代理。

  • 我使用带有默认 MSBuild 参数的 VS2017 离开构建步骤:

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

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

  • 我排队了一个新的构建。

NuGet 步骤成功。

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

_TransformWebConfig:

...然后...

未找到 web.config。创建 'C:\a\1\s\src\WebApp\obj\Release\net462\win7-x86\PubTmp\Out\web.config'

...和...

Microsoft.NET.Sdk.Publish.MSDeployPackage.targets(124,7):错误 MSB4184:无法评估表达式“[System.IO.Path]::GetDirectoryName('')”。路径不合法。

【问题讨论】:

  • 我做了一个测试,通过Visual Studio 2017(Web Deploy Package)发布,它也不能发布。

标签: asp.net-core azure-pipelines


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    1. 创建新的构建定义
    2. 选择 ASP.NET Core(预览版)构建模板

    【讨论】:

      【解决方案3】:

      我认为下面的文章有答案。

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-11-22
        • 2018-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多