C # TeamCity: проблема с несколькими версиями SDK - PullRequest
0 голосов
/ 27 сентября 2018

Пытаюсь собрать мой проект через наш внутренний сервер TeamCity, и я сталкиваюсь с проблемой с версиями SDK.Первый шаг - это команда dotnet restore в моем проекте, которая завершается с ошибкой:

[12:51:55]  Updating sources: auto checkout (on agent) (42s)
[12:52:38]  Step 1/5: Restore (.NET CLI (dotnet)) (5s)
[12:52:39]  [Step 1/5] dotnet.exe restore MySolution.sln @D:\teamcity\buildagent2\temp\agentTmp\a057a13bb8fb4a43a4b14c8cebf2d41a.rsp
[12:52:39]  [Step 1/5] restore (4s)
[12:52:39]  [restore] Starting: "C:\Program Files\dotnet\dotnet.exe" restore MySolution.sln @D:\teamcity\buildagent2\temp\agentTmp\a057a13bb8fb4a43a4b14c8cebf2d41a.rsp
[12:52:39]  [restore] in directory: D:\teamcity\buildagent2\work\48acce6beee4a7d3
[12:52:43]  [restore] c:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(135,5): error : The current .NET SDK does not support targeting .NET Core 2.1.  Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1.
[12:52:43]  [restore] C:\Program Files\dotnet\sdk\2.1.2\NuGet.targets(103,5): warning : Unable to find a project to restore!
[12:52:43]  [restore] 
[12:52:43]  [restore] Build succeeded.
[12:52:43]  [restore] 
[12:52:43]  [restore] C:\Program Files\dotnet\sdk\2.1.2\NuGet.targets(103,5): warning : Unable to find a project to restore!
[12:52:43]  [restore]     1 Warning(s)
[12:52:43]  [restore]     1 Error(s)
[12:52:43]  [restore] 
[12:52:43]  [restore] Time Elapsed 00:00:01.84
[12:52:43]  [restore] 
[12:52:43]  [restore] 
[12:52:44]  [restore] c:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(135,5): error : The current .NET SDK does not support targeting .NET Core 2.1.  Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1.
[12:52:43]  [restore] Process exited with code 0
[12:52:43]  [Step 1/5] Step Restore (.NET CLI (dotnet)) failed
[12:52:44]  Publishing internal artifacts
[12:52:44]  Build finished

Насколько я могу судить, она вызывает два разных SDK, и мои цели проекта .NETCore 2.1.Я попытался указать цель проекта (одно решение для проекта):

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>

    <IsPackable>false</IsPackable>
    <GenerateProgramFile>false</GenerateProgramFile>
    <OutputType>Exe</OutputType>
    <StartupObject>MyProject.Program</StartupObject>
  </PropertyGroup>
</Project>

Я также попытался указать целевую версию SDK через файл global.json, на который ссылается здесь :

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

Все они встретились с той же ошибкой, что и в журнале сборки, который я предоставил.Может кто-нибудь дать предложение о том, как решить эту проблему?

1 Ответ

0 голосов
/ 28 сентября 2018

Как отмечается в комментариях @omajid, версии SDK 2.0.2 и 2.1.2 фактически обе находятся в среде выполнения .NET Core 2.0.Первая версия SDK для .NET Core 2.1 была 2.1.300, как было найдено здесь .Среда выполнения .NET Core 2.0 включает в себя версии SDK 2.0.2 и 2.1.2, как показано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...