由于dotnet版本,VSTS基于干净

时间:2018-05-31 16:46:45

标签: .net .net-core azure-devops azure-pipelines

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

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

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

查看为代理构建映像的脚本我遇到了这个更改,假设停止安装preview / rc版本 - https://github.com/Microsoft/vsts-image-generation/commit/e9c0aec89ad797d1985a76ab262349b943b02c34但是此刻为我构建的代理是rc版本?

当我们点击运行dotnet clean

的干净阶段时,以下是来自VSTS的错误日志
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

1 个答案:

答案 0 :(得分:2)

我已经在我这边测试过,Hosted VS 2017安装了dotnet版本global.json

enter image description here

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

  1. 创建一个{ "sdk": { "version": "2.1.200" } }文件,其中包含以下相似内容,并将其检入VSTS。
  2. Working folder

    1. global.json指定到{{1}}文件所在的位置:
    2. enter image description here

      1. 运行命令:
      2. enter image description here

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