.Net Core Nuget程序包版本不匹配:两个程序包引用了相同dll的不同版本

w00ngy

目前,我有一个带有2个nuget包的ASPNet.Core Web应用程序,这些nuget包引用了同一dll的不同版本。Web项目工作正常,但是当我在Unit Testing项目中向Web项目添加引用时,出现此编译错误。显然可以解决这些dll差异,因为Web项目可以毫无问题地进行编译。只有当我添加对Web项目的引用以添加测试时,才发生以下编译错误,并且仅在单元测试项目中发生。

标识为“ KII.Web,版本= 1.0.0.0,文化=中性,PublicKeyToken =空”的程序集“ KII.Web”使用'Microsoft.Extensions.Options,版本= 2.2.0.0,文化=中性,PublicKeyToken = adb9793829ddae60',其中具有比引用的程序集“ Microsoft.Extensions.Options”更高的版本,其身份为“ Microsoft.Extensions.Options,版本= 2.1.1.0,文化=中性,PublicKeyToken = adb9793829ddae60” KII.UnitTests
C:\ Projects \ kii \ web \ src \ Tests \ KII.UnitTests \ Controllers \ HomeControllerTest.cs

此外,我在单元测试项目中也有此构建错误。

程序集“ KII.Web”使用“ Microsoft.AspNetCore.Mvc.ViewFeatures,版本= 2.1.1.0”,其版本高于引用的程序集“ Microsoft.AspNetCore.Mvc.ViewFeatures”,其标识为“ Microsoft.AspNetCore.Mvc.ViewFeatures”,版本= 1.0.3.0

本质上,Web项目具有此功能

  • Microsoft.AspNetCore.App 2.2.0 有参考 Microsoft.Extensions.Options 2.2.0
  • KenticoCloud.Delivery 10.0.1 有参考 Microsoft.Extensions.Options 2.1.1

我尝试过的事情

  • 清理/重建
  • 手动删除bin目录
  • 在单元测试和Web项目中的app.configs中添加绑定重定向
  • 更新KenticoCloud.Delivery至 11.0.0-beta1

由于这是.net核心,因此hintpaths我无法对其进行调整web.config我不认为要检查GAC的旧版本/更新它是否起作用,因为.net核心不使用GAC。由于所讨论的dll是nuget软件包的子依赖项,因此我无法更新nuget软件包进行解析。

类似的问题

w00ngy

解决方案是直接Microsoft.AspNetCore.Mvc.ViewFeatures version 2.2.0在Web项目中安装共享软件包依赖项之一的最新版本在此包上添加直接依赖项可以使单元测试项目正确地解决其依赖项。

在KII.Web.csproj中添加了此程序包依赖性

<PackageReference Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Version="2.2.0" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

搜索.NET Core或标准NuGet程序包

无法在两个NET Standard项目中整合NuGet程序包传递依赖项版本

在VS 2017.3中引用.NET 4.6 NuGet程序包时如何隐藏.NET Core兼容性警告

为ASP.NET 4和ASP.NET Core 1.0创建一个Nuget程序包

.NET Core DI,注册程序包的默认实现

在.NET Core MSBuild中包含程序包的源文件

如何将TypeScript定义添加到.NET Core Nuget程序包

.NET分析工具:程序包版本与程序集版本

.Net Core 2.0“生成时生成Nuget程序包”与生成后事件有关的问题

使用dnx / .net core更改输出程序集和程序包的名称

在新的ASP.NET MVC 5项目中更新NuGet程序包引用后,如何解决与JSON.NET的程序集版本冲突?

.NET Core RC2:使用程序包的本地派生

更新到ASP.NET Core 2.0-程序包与netcoreapp2.0不兼容

部署没有运行时和程序包的ASP.NET Core?

列出给定项目/ VS2017中.NET Core项目的“递归依赖”的所有nuget程序包

Visual Studio 2017仅具有适用于.NET Core 2.x的脱机Nuget程序包。如何获得在线套餐?

无法将IdentityServer4 NuGet程序包正确添加到ASP.NET Core项目,并且VS代码未显示智能提示

为什么SetBasePath在.NET Core 3.1中不起作用?我尝试添加nuget程序包,但是它不起作用

无法找到ConfigurationErrorsException nuget包或程序集.net Core 2.2

为什么每个人都使用带有ASP.Net Core ILogger的记录程序包?

.NET Core 2 应用程序引用带有静态文件的 NuGet 包

ASP.NET Core 2.2 - 如何从项目引用的程序集中检索 NuGet 包依赖项

ASP.NET Core应用程序中未解析Saxon的Nuget包的引用

如何将 .NET Core 程序的入口点放在它引用的 NuGet 包中

.NET Core API网关(AWS)如何设置依赖注入(DI)以使用MemCached .NET Core程序包,基于DI的记录器等

.Net找不到Nuget程序包所需的引用依赖项

.Net Core版本混淆

.NET Core当前版本

将多个相互依赖的.NET Core程序包上传到NuGet的最佳方法?