如何修复MSBuild错误NU1607:检测到版本冲突?

问题描述 投票:0回答:1

我的Web API .Net Core 2.2项目在VS 2019中构建时没有错误。但是,当我尝试在TFS 2018构建服务器中进行构建时,在NuGet Restore步骤中发生以下错误:

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). 我向MyWebAPIProject添加了Microsoft.AspNetCore.Hosting.Abstractions版本2.2.0 NuGet程序包。现在,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仍然会失败,并显示相同的错误。谁能帮忙吗?谢谢。

asp.net-core nuget-package-restore
1个回答
0
投票

我的项目TFS生成步骤“使用Nuget x.x.x”已配置为使用4.3.0版本。创建新的TFS构建时,4.3.0是默认版本。我在[[要安装的NuGet的版本框中将NuGet.exe的版本更改为4.6.0,使其与在VS 2017 NuGet软件包管理器的“帮助/关于”窗口中显示的相同。之后版本冲突就消失了。但是,当我像在VS2019中一样将NuGetexe版本设置为5.3.1时,会弹出与dotnet sdk 3.0相关的错误。因此,我将版本更改回了4.6.0。

© www.soinside.com 2019 - 2024. All rights reserved.