.net-core - 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:
解决方案
在 dontet publish 命令之后,您需要制作 Azure Pipeline 工件。
你可以这样做:
- publish: $(Build.ArtifactStagingDirectory)
artifact: WebApp
在这里,您有关于此的文档。之后,您将获得一个可用于发布管道的工件。
推荐阅读
- spring-boot - Apache骆驼,第二次无法从FTP获取文件
- artifactory - 如何正确存档我们的应用程序版本的安装程序?
- python - Python Selenium - 覆盖地理位置不起作用
- java - 如何在 Android 上从启动屏幕动画到主屏幕?
- react-native - 在反应导航5中传递和获取参数
- python - 如何在某个范围内循环,并重新开始循环直到该范围的开头
- android - Gradle 在 lintVital 期间因 OutOfMemoryError 而失败
- css - 悬停时外部 SVG 路径的 CSS 选择
- azure - failOnStderr: true 时的 Azure 脚本任务,出现非没有此标志的 bash 错误
- python - 如何通过获取整数字段的准确值来验证表单