Ошибка восстановления приложения .net core 2.0, обновленного до 2.1 - PullRequest
0 голосов
/ 29 июня 2018

Попытка VSTS создать наше базовое приложение .NET, которое мы обновили с 2.0 до 2.1.

Когда я собираю локально с SDK версии 2.1.301, все в порядке. Но сборка VSTS не выполняется.

Итак, у меня есть global.json в корневой каталог проекта, который не удалось добавить, но это не решило проблему:

{
  "sdk": {
    "version": "2.1.301"
  }
}

Ошибка, которую мы получаем, такова:

2018-06-29T10: 40: 44.2112663Z 2018-06-29T10: 40: 44.2112824Z
"D: \ a \ 1 \ s \ FooApp.Tests \ FooApp.Tests.csproj" (восстановить цель) (1) -> 2018-06-29T10: 40: 44.2113005Z (цель восстановления) -> 2018-06-29T10: 40: 44.2113230Z D: \ a \ 1 \ s \ FooApp \ FooApp.csproj: ошибка NU1107: обнаружен конфликт версий для Microsoft.AspNetCore.Razor.Language. Ссылка на пакет напрямую из проекта, чтобы решить эту проблему. [D: \ а \ 1 \ s \ FooApp.Tests \ FooApp.Tests.csproj] 2018-06-29T10: 40: 44.2113815Z D: \ a \ 1 \ s \ FooApp \ FooApp.csproj: ошибка NU1107: FooApp -> Microsoft.VisualStudio.Web.CodeGeneration.Design 2.1.1 -> Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration 2.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore 2.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.Core 2.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.Templating 2.1.1 -> Microsoft.AspNetCore.Razor.Language (> = 2.1.1) [D: \ а \ 1 \ s \ FooApp.Tests \ FooApp.Tests.csproj] 2018-06-29T10: 40: 44.2114327Z D: \ a \ 1 \ s \ FooApp \ FooApp.csproj: ошибка NU1107: FooApp -> Microsoft.AspNetCore.App 2.1.0 -> Microsoft.AspNetCore.Razor.Language (= 2.1.0). [D: \ а \ 1 \ s \ FooApp.Tests \ FooApp.Tests.csproj] 2018-06-29T10: 40: 44.2114518Z

Вот MyOwnApp.csproj

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
  </PropertyGroup>

  <ItemGroup>
    <Compile Remove="Models\**" />
    <Content Remove="Models\**" />
    <EmbeddedResource Remove="Models\**" />
    <None Remove="Models\**" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.6.0" />
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.Azure.ServiceBus" Version="3.0.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.1" />
    <PackageReference Include="Serilog.AspNetCore" Version="2.1.1" />
    <PackageReference Include="Serilog.Settings.Configuration" Version="2.6.1" />
    <PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
    <PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />
    <PackageReference Include="Serilog.Sinks.MSSqlServerCore" Version="1.1.0" />
    <PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\MyOwnApp\MyOwnApp.csproj" />
  </ItemGroup>

</Project>

1 Ответ

0 голосов
/ 29 июня 2018

Скорее всего SDK 2.1.301 SDK не установлен на сервере TFS. 2.1.301 соответствует .NET Core 2.1.1

Пакет содержит ссылку на:

<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.1" />

Как говорится в сообщении об ошибке, этот пакет требует версии 2.1.1 Microsoft.AspNetCore.Razor.Language. Пакет Microsoft.AspNetCore.App, найденный на сервере сборки, равен 2.1.0.

Решение состоит в том, чтобы установить 2.1.301 SDK на сервер

ОБНОВЛЕНИЕ

Если VSTS не имеет последней версии SDK, его можно установить, выполнив шаги, показанные здесь :

  1. Добавьте задачу .NET Core Tool Installer в качестве первой задачи в процессе сборки и укажите версию SDK. В данном случае это 2.1.301
  2. Добавьте Nuget Tool Installer сразу после него.

Эти шаги должны установить правильные версии SDK и NuGet

...