我的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仍然会失败,并显示相同的错误。谁能帮忙吗?谢谢。
答案 0 :(得分:0)
我的项目TFS生成步骤“使用Nuget x.x.x”已配置为使用4.3.0版本。创建新的TFS构建时,4.3.0是默认版本。我在要安装的NuGet.exe版本框中将NuGet.exe版本更改为4.6.0,以使其与我的VS 2017帮助/关于NuGet软件包管理器的“关于”窗口中显示的相同。之后版本冲突就消失了。但是,当我像在VS2019中一样将NuGetexe版本设置为5.3.1时,会弹出与dotnet sdk 3.0相关的错误。因此,我将版本更改回了4.6.0。