【问题标题】:Error after updating .NET Framework 4.6.1 to 4.8将 .NET Framework 4.6.1 更新到 4.8 后出错
【发布时间】:2022-07-09 01:24:59
【问题描述】:

我将应用程序从 .NET Framework 4.6.1 更新到 4.8,但加载应用程序时出错。

对于上下文:此应用程序使用 Ninject Nuget 进行依赖注入。此 nuget 会在 App_Start 文件夹中自动创建一个名为“NinjectWebCommon.cs”的文件 在这个 ninject 文件中,StandardKernel() 出现错误;方法

 private static IKernel CreateKernel()
    {
        var kernel = new StandardKernel();

我遇到的错误是这样的:

System.IO.FileNotFoundException: '无法加载文件或程序集 'System.Net.Http,版本=4.2.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到指定的文件。'

在寻找解决方案时,我发现我需要在 Web.config 内部有一个绑定重定向,但我已经有了它。

 <dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
  </dependentAssembly>

我在项目上也有引用System.Net.Http,所以不知道会是什么

【问题讨论】:

  • 您的一个依赖项依赖于 System.Web.Http 4.2 版
  • 另外,请注意 System.Net.Http 与 System.Web.Http 完全不同。
  • 是的,我更新了问题,谢谢

标签: c# asp.net .net ninject .net-4.8


【解决方案1】:

我删除了 System.Net.Http 的dependentAssembly,它起作用了。我不知道这是否是最佳解决方案

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。这是我在升级到 4.8 之后为解决它所做的。

    1. 删除了 NuGet 包 System.Net.Http
    2. 重新添加了参考 System.Net.Http
    3. 在 App.config 中删除了 system.net.http 的 bindingredirect 行

    工作就像一个魅力!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 2017-09-26
      相关资源
      最近更新 更多