首页 > 解决方案 > 由于 dotnet 版本,VSTS 建立在干净的基础上

问题描述

我的 VSTS 构建最近在执行 a 时开始失败clean,看起来这与它正在运行的 dotnet 版本有关。如果我这样做,dotnet --version我会得到以下输出:

2018-05-31T16:40:51.0191791Z 2.1.300-rc1-008673

为什么构建代理运行 RC 版本的 dotnet?如何将其修复为已发布版本?

环顾为代理构建图像的脚本,我遇到了这个更改,假设停止安装预览/rc 版本 - https://github.com/Microsoft/vsts-image-generation/commit/e9c0aec89ad797d1985a76ab262349b943b02c34但代理对我来说,目前正在建造的是 rc 版本吗?

这是当我们点击运行的干净阶段时来自 VSTS 的错误日志dotnet clean

2018-06-01T10:35:05.2388624Z ========================================
2018-06-01T10:35:05.2389045Z Clean
2018-06-01T10:35:05.2389205Z ========================================
2018-06-01T10:35:05.2389542Z Executing task: Clean
2018-06-01T10:35:05.2389744Z Microsoft (R) Build Engine version 15.7.177.53362 for .NET Core
2018-06-01T10:35:05.2389940Z Copyright (C) Microsoft Corporation. All rights reserved.
2018-06-01T10:35:05.2390085Z 
2018-06-01T10:35:05.2390243Z Build started 6/1/2018 10:35:04 AM.
2018-06-01T10:35:05.4567633Z      1>Project "D:\a\1\s\EvilCorp.Shopping.sln" on node 1 (Clean target(s)).
2018-06-01T10:35:05.4576926Z      1>ValidateSolutionConfiguration:
2018-06-01T10:35:05.4577117Z          Building solution configuration "Debug|Any CPU".
2018-06-01T10:35:05.4577301Z        ValidateProjects:
2018-06-01T10:35:05.4577538Z          The project "EvilCorp.Shopping.CloudFormation" is not selected for building in solution configuration "Debug|Any CPU".
2018-06-01T10:35:05.6568982Z      1>Project "D:\a\1\s\EvilCorp.Shopping.sln" (1) is building "D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\EvilCorp.Shopping.BitCoinMining.Tests.csproj" (2) on node 1 (Clean target(s)).
2018-06-01T10:35:05.6570131Z      2>_CheckForNETCoreSdkIsPreview:
2018-06-01T10:35:05.6570885Z          You are working with a preview version of the .NET Core SDK. You can define the SDK version via a global.json file in the current project. More at https://go.microsoft.com/fwlink/?linkid=869452
2018-06-01T10:35:05.6571157Z        CoreClean:
2018-06-01T10:35:05.6571366Z          Creating directory "obj\Debug\netcoreapp2.0\".
2018-06-01T10:35:05.6573173Z      2>C:\Program Files\dotnet\sdk\2.1.300-rc1-008673\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(197,5): error : Assets file 'D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. [D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\EvilCorp.Shopping.BitCoinMining.Tests.csproj]
2018-06-01T10:35:05.6574793Z      2>Done Building Project "D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\EvilCorp.Shopping.BitCoinMining.Tests.csproj" (Clean target(s)) -- FAILED.
2018-06-01T10:35:06.3974865Z      1>Project "D:\a\1\s\EvilCorp.Shopping.sln" (1) is building "D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\EvilCorp.Shopping.BitCoinMining.csproj" (3) on node 2 (Clean target(s)).
2018-06-01T10:35:06.3976276Z      3>_CheckForNETCoreSdkIsPreview:
2018-06-01T10:35:06.3976868Z          You are working with a preview version of the .NET Core SDK. You can define the SDK version via a global.json file in the current project. More at https://go.microsoft.com/fwlink/?linkid=869452
2018-06-01T10:35:06.4013004Z        CoreClean:
2018-06-01T10:35:06.4013409Z          Creating directory "obj\Debug\netcoreapp2.0\".
2018-06-01T10:35:06.4033872Z      3>C:\Program Files\dotnet\sdk\2.1.300-rc1-008673\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(197,5): error : Assets file 'D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. [D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\EvilCorp.Shopping.BitCoinMining.csproj]
2018-06-01T10:35:06.4039865Z      3>Done Building Project "D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\EvilCorp.Shopping.BitCoinMining.csproj" (Clean target(s)) -- FAILED.
2018-06-01T10:35:06.4237898Z      1>Done Building Project "D:\a\1\s\EvilCorp.Shopping.sln" (Clean target(s)) -- FAILED.
2018-06-01T10:35:06.4315334Z 
2018-06-01T10:35:06.4317290Z Build FAILED.
2018-06-01T10:35:06.4320946Z 
2018-06-01T10:35:06.4322792Z        "D:\a\1\s\EvilCorp.Shopping.sln" (Clean target) (1) ->
2018-06-01T10:35:06.4324451Z        "D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\EvilCorp.Shopping.BitCoinMining.Tests.csproj" (Clean target) (2) ->
2018-06-01T10:35:06.4324845Z        (ResolvePackageAssets target) -> 
2018-06-01T10:35:06.4325763Z          C:\Program Files\dotnet\sdk\2.1.300-rc1-008673\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(197,5): error : Assets file 'D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. [D:\a\1\s\test\EvilCorp.Shopping.BitCoinMining.Tests\EvilCorp.Shopping.BitCoinMining.Tests.csproj]
2018-06-01T10:35:06.4326110Z 
2018-06-01T10:35:06.4326235Z 
2018-06-01T10:35:06.4326444Z        "D:\a\1\s\EvilCorp.Shopping.sln" (Clean target) (1) ->
2018-06-01T10:35:06.4326731Z        "D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\EvilCorp.Shopping.BitCoinMining.csproj" (Clean target) (3) ->
2018-06-01T10:35:06.4327177Z          C:\Program Files\dotnet\sdk\2.1.300-rc1-008673\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(197,5): error : Assets file 'D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. [D:\a\1\s\src\EvilCorp.Shopping.BitCoinMining\EvilCorp.Shopping.BitCoinMining.csproj]
2018-06-01T10:35:06.4327515Z 
2018-06-01T10:35:06.4327682Z     0 Warning(s)
2018-06-01T10:35:06.4327863Z     2 Error(s)
2018-06-01T10:35:06.4327987Z 
2018-06-01T10:35:06.4328151Z Time Elapsed 00:00:01.51

标签: .net.net-coreazure-devopsazure-pipelines

解决方案


我已经测试过,Hosted VS 2017 已安装 dotnet 版本2.1.300-rc1-008673

在此处输入图像描述

要使用其他版本的 dotnet sdk,您可以按照以下步骤操作:

  1. 创建一个global.json具有以下类似内容的文件并将其签入 VSTS。

{ "sdk": { "version": "2.1.200" } }

  1. 指定文件Working folder所在的位置global.json

在此处输入图像描述

  1. 运行命令:

在此处输入图像描述

您可以在第一步中指定要使用的 dotnet sdk 版本,并确保您要使用的版本已存在于 Hosted VS 2017 中。


推荐阅读