gpt4 book ai didi

.Net Core Nuget 包版本不匹配 : Two packages have references to different versions of the same dll

转载 作者:行者123 更新时间:2023-12-03 09:51:53 25 4
gpt4 key购买 nike

目前我有一个 ASPNet.Core Web 应用程序,其中包含 2 个引用同一 dll 不同版本的 nuget 包。 Web 项目工作正常,但是当我在 Unit Testing 中添加引用时项目到Web项目,我收到此编译错误。有些东西显然正在解决这些 dll 差异,因为 Web 项目编译没有问题。只有当我添加对web项目的引用以添加测试时才会出现以下编译错误,并且仅在单元测试项目中。

Assembly 'KII.Web' with identity 'KII.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.Extensions.Options, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' which has a higher version than referenced assembly 'Microsoft.Extensions.Options' with identity 'Microsoft.Extensions.Options, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' KII.UnitTests
C:\Projects\kii\web\src\Tests\KII.UnitTests\Controllers\HomeControllerTest.cs



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

Assembly 'KII.Web' uses 'Microsoft.AspNetCore.Mvc.ViewFeatures, Version=2.1.1.0, which has a higher version than referenced assembly 'Microsoft.AspNetCore.Mvc.ViewFeatures' with identity 'Microsoft.AspNetCore.Mvc.ViewFeatures, Version=1.0.3.0



基本上网络项目有这个
  • Microsoft.AspNetCore.App 2.2.0引用了 Microsoft.Extensions.Options 2.2.0
  • KenticoCloud.Delivery 10.0.1引用了 Microsoft.Extensions.Options 2.1.1

  • 我尝试过的事情
  • 清理/重建
  • 手动删除 bin 目录
  • 添加 binding redirects在单元测试和 Web 项目中的 app.configs 中
  • 将 KenticoCloud.Delivery 更新为 11.0.0-beta1

  • 由于这是.net core,所以没有 hintpaths我可以在 web.config 中进行调整.我不认为检查 GAC 的旧版本/更新它会起作用,因为 .net core 不使用 GAC。由于有问题的 dll 是 nuget 包的子依赖项,我无法更新 nuget 包来解决。

    Similar SO question

    最佳答案

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

    在 KII.Web.csproj 中添加了这个包依赖

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

    关于.Net Core Nuget 包版本不匹配 : Two packages have references to different versions of the same dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57908508/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com