Как исправить ошибку MSBuild NU1607: обнаружен конфликт версий? - PullRequest
0 голосов
/ 06 ноября 2019

Мой проект Web API API .Net Core построен без ошибок в VS 2019. Однако, когда я пытаюсь собрать его на сервере сборки TFS 2018, на этапе восстановления NuGet возникает следующая ошибка:

NU1607: Version conflict detected for Microsoft.AspNetCore.Hosting.Abstractions. Reference the package directly from the project to resolve this issue. MyWebAPIProject (>= 1.0.0) -> NLog.Web.AspNetCore (>= 4.8.6) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 2.1.1) MyWebAPIProject (>= 1.0.0) -> Microsoft.AspNetCore.App (>= 2.1.0) -> Microsoft.AspNetCore.Hosting.Abstractions (>= 2.1.0).
Я добавил пакет Microsoft.AspNetCore.Hosting.Abstractions ver 2.2.0 NuGet в MyWebAPIProject. Теперь файл MyWebAPIProject.cproj выглядит примерно так:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <!--<PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>-->

  <PropertyGroup Label="Globals">
    <SccProjectName>%24/MyWebAPIProject</SccProjectName>
    <SccProvider>{AAAAAAA-AAA-AAA-AAA-AAA}</SccProvider>
    <SccAuxPath>http://TFSBuildServer:8080/tfs/defaultcollection</SccAuxPath>
    <SccLocalPath>.</SccLocalPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
    <UserSecretsId>adfbcb24-c16e-40ec-bf0a-45b437155743</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.EventLog" Version="2.2.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
    <PackageReference Include="NLog.Schema" Version="4.6.8" />
    <PackageReference Include="NLog.Web.AspNetCore" Version="4.8.6" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\MyWebAPI.Repository\MyWebAPI.Repository.csproj" />
    <ProjectReference Include="..\MyWebAPI.Interfaces\MyWebAPI.Interfaces.csproj" />
  </ItemGroup>

</Project>`      

Но MSBuild все равно не работает с той же ошибкой. Может кто-нибудь, пожалуйста, помогите? Спасибо.

1 Ответ

0 голосов
/ 07 ноября 2019

Мой шаг сборки TFS проекта «Use Nuget xxx» был настроен для использования версии 4.3.0. 4.3.0 является версией по умолчанию при создании новой сборки TFS. Я изменил версию NuGet.exe на 4.6.0 в версии NuGet.exe, чтобы установить окно , чтобы сделать его таким же, как это было показано в моем окне VS 2017 Help / About для диспетчера пакетов NuGet. Конфликт версий ушел после этого. Однако, когда я установил версию NuGetexe до 5.3.1, как в моем VS2019, всплыли ошибки, связанные с dotnet SDK 3.0. Итак, я изменил версию обратно на 4.6.0.

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