错误 CS1705 抱怨更高版本的软件包不存在

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

我突然开始收到此错误:

错误CS1705:身份为“Microsoft.AspNetCore.Http,Version=7.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”的程序集“Microsoft.AspNetCore.Http”使用“Microsoft.AspNetCore.Http.Features,Version=7.0.0.0” ,Culture=neutral,PublicKeyToken=adb9793829ddae60',其版本高于引用的程序集“Microsoft.AspNetCore.Http.Features”,标识为“Microsoft.AspNetCore.Http.Features,Version=2.2.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60” '

所以,MSBuild 似乎在抱怨

Microsoft.AspNetCore.Http' with identity 'Microsoft.AspNetCore.Http, Version=7.0.0.0
但该包甚至没有版本 7.0.0.0(nuget.org 上可用的最新版本是 2.2.0)。

背景是我正在构建一个支持大多数平台的库套件,并且还应该向后兼容 .NET 标准 2.0,因此我的大多数 nuget 都可以针对多个 .Net 版本(netstandard2.0 --> net7)。

此类错误的问题是 MSBuild 没有提供任何有关问题存在的提示,例如哪个包导致了问题。现在有没有可用的工具可以帮助解决这些类型的 dll-hell 情况?我花了很多时间试图解密这个错误,但到目前为止还没有成功。

c# asp.net-core .net-7.0
1个回答
0
投票

一旦我找到了麻烦的项目,我就在 .csproj 文件中找到了这个,由 Rider 自动添加:

<ItemGroup> <Reference Include="Microsoft.AspNetCore.Http"> <HintPath>C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\7.0.14\Microsoft.AspNetCore.Http.dll</HintPath> </Reference> </ItemGroup>

我尝试对此进行评论,只是添加了一个普通的包引用,而不是添加到其
PackageReference

中的其他

ItemGroup
项目:
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />

这显然为 MSBuild 提供了所需的确切信息。

我猜使用过于强大的工具的危险......

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