首页 > 解决方案 > DOTNETCORECLI@2 发布成功但没有工件

问题描述

我有一个遗留项目,想进入 Azure Devops 管道。我有一个构建管道设置,构建似乎成功了。我添加了一个 DotnetcoreCli Publish 任务,这成功了,但我在运行后没有任何可用的工件,因此无法实现发布管道。

想知道是否有人能发现我所做的任何愚蠢的事情?

这些是我的管道中定义的任务:

  - task: DotNetCoreCLI@2
    inputs:
      command: 'build'
      projects: '$(solution)'
      arguments: '--configuration $(buildConfiguration)'
    displayName: 'dotnet build $(buildConfiguration)'
  - task: DotNetCoreCLI@2
    condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/UAT'))          
    inputs:
      command: 'publish'
      publishWebProjects: true
      configuration: $(BuildConfiguration)
      arguments: '--output $(Build.ArtifactStagingDirectory) --verbosity detailed'
      zipAfterPublish: false # We want individual files published, not a zip

这是我的发布任务跟踪的结尾:

(入口点):2021-09-09T08:57:26.4983992Z 任务“消息” 2021-09-09T08:57:26.4984515Z MYOrg.MyApp.UI -> D:\a\1\a\Staging\MYOrg.MyApp .UI\ 2021-09-09T08:57:26.4985051Z
完成执行任务“消息”。2021-09-09T08:57:26.4985655Z
1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“Publish”。2021-09-09T08:57:26.4986271Z 目标“_InitProjectCapabilityProperties”已跳过。之前搭建成功。2021-09-09T08:57:26.4991632Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_InitPublishIntermediateOutputPath” DotNetCLIToolTargets\Microsoft.NET.Sdk.DotNetCLITool.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(目标“_AspNetCoreProjectSystemPostPublish”取决于它):2021- 09-09T08:57:26.4992847Z 任务“ConvertToAbsolutePath” 2021-09-09T08:57:26.4993300Z 完成执行任务“ConvertToAbsolutePath”。2021-09-09T08:57:26.4993889Z 1> 在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_InitPublishIntermediateOutputPath”。2021-09-09T08:57:26.4994986Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_TransformWebConfig” TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(目标“_AspNetCoreProjectSystemPostPublish”取决于它): 2021-09-09T08:57:26.4996207Z 使用程序集“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0.. ..\tools\netcoreapp1.0\Microsoft.NET.Sdk.Publish.Tasks.dll”。2021-09-09T08:57:26.4997005Z 任务“TransformWebConfig” 2021-09-09T08:57:26.5010124Z 配置以下项目以与 IIS 一起使用:'D:\a\1\a\Staging\MYOrg.MyApp.UI' 2021-09-09T08:57:26.5010856Z 更新 web。在 'D:\a\1\a\Staging\MYOrg.MyApp.UI\web.config' 配置 2021-09-09T08:57:26.5129541Z 配置项目成功完成 2021-09-09T08:57:26.5140303Z 完成执行任务“TransformWebConfig”。2021-09-09T08:57:26.5143720Z 1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_TransformWebConfig”。2021-09-09T08:57:26.5145086Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_TransformAppSettings” TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets”来自项目“D:\a\1\s\MYOrg.MyApp. 并且@(DestinationConnectionStrings) != '') 被评估为 ('true' == 'true' And '' != 'true' And != '')。2021-09-09T08:57:26.5153800Z 并且@(DestinationConnectionStrings) != '') 被评估为 ('true' == 'true' And '' != 'true' And != '')。2021-09-09T08:57:26.5153800Z
1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_TransformAppSettings”。2021-09-09T08:57:26.5156303Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_GenerateEFSQLScripts” TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(目标“_AspNetCoreProjectSystemPostPublish”取决于它): 2021-09-09T08:57:26.5157868Z 任务“GenerateEFSQLScripts”由于错误条件而被跳过;('$(_IsAspNetCoreProject)' == 'true' And '$(IsGenerateEFSQLScriptsDisabled)' != 'true' And @(EfMigrations) != '') 被评估为 ('true' == 'true' And '' ! ='真' 和!='')。2021-09-09T08:57:26.5180482Z 1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_GenerateEFSQLScripts”。2021-09-09T08:57:26.5183010Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_GenerateRunCommandFile” TransformTargets\Microsoft.NET.Sdk.Publish.TransformFiles.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(目标“_AspNetCoreProjectSystemPostPublish”取决于它): 2021-09-09T08:57:26.5185028Z 任务“GenerateRunCommandFile”由于错误条件而被跳过;('$(_IsWebJobProject)' == 'true' And '$(IsGenerateRunCommandFileDisabled)' != 'true') 被评估为 ('' == 'true' And '' ! ='真')。2021-09-09T08:57:26.5185862Z 1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_GenerateRunCommandFile”。2021-09-09T08:57:26.5186601Z 目标“_PublishFiles”由于错误条件而被跳过;('$(PublishProtocol)' != 'FileSystem' And '$(PublishProtocol)' != '') 被评估为 ('FileSystem' != 'FileSystem' And 'FileSystem' != '')。2021-09-09T08:57:26.5187820Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_AspNetCoreProjectSystemPostPublish” DotNetCLIToolTargets\Microsoft.NET.Sdk.DotNetCLITool.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(目标“_DotNetCLIPostPublish”
1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_AspNetCoreProjectSystemPostPublish”。2021-09-09T08:57:26.5189885Z
1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“AfterPublish” Microsoft.NET.Sdk.Publish.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(目标“_DotNetCLIPostPublish”取决于它):2021-09- 09T08:57:26.5190833Z
1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“AfterPublish”。2021-09-09T08:57:26.5191798Z 1>在文件“C:\hostedtoolcache\windows\dotnet\sdk\2.0.3\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\ 中定位“_DotNetCLIPostPublish” DotNetCLIToolTargets\Microsoft.NET.Sdk.DotNetCLITool.targets”来自项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(入口点):2021-09-09T08:57 :26.5192771Z 1>在项目“MYOrg.MyApp.UI.csproj”中完成构建目标“_DotNetCLIPostPublish”。2021-09-09T08:57:26.5193415Z 1>完成构建项目“D:\a\1\s\MYOrg.MyApp.UI\MYOrg.MyApp.UI.csproj”(发布目标)。2021-09-09T08:57:26.5210238Z 2021-09-09T08:57:26.5225190Z 构建成功。2021-09-09T08:57:26.5260048Z 0 警告 2021-09-09T08:57:

标签: .net-coreazure-devopsazure-pipelinespublishdotnetcorecli

解决方案


在 dontet publish 命令之后,您需要制作 Azure Pipeline 工件。

你可以这样做:

- publish: $(Build.ArtifactStagingDirectory)
  artifact: WebApp

在这里,您有关于此的文档。之后,您将获得一个可用于发布管道的工件。


推荐阅读