首页 > 解决方案 > 由于 system.net.http 缺少参考的问题,无法使用 Microsoft Graph 3.2.0 运行 C# 应用程序

问题描述

system.net.http

在此处输入图像描述

现在,如果我将这样的项目设置更改为 4.7.2:

在此处输入图像描述

然后检查我的system.net.http assembly

在此处输入图像描述

因此,上述研究表明,如果我愿意,system.net.http我需要使用.NET Framework 4.7.2。到目前为止还可以。但 ...

Microsoft Graph 3.2.0 当您查看 Microsoft Graph 3.2.0 的依赖项时,它会说:

在此处输入图像描述

所以它说它依赖于.NET Framework 4.6.1对吗?

所以我卸载并重新安装了几个 NuGet 包,以便它们适用于 4.7.2,然后我修改了我的app.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, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。”:“System.Net。 Http,版本=4.2.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a"}

我相信的那个文件在这里:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net471\lib

那是在编译期间使用的那个。

然而,当我试图找到这个 DLL 的运行时路径时,我只能找到:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

但其中的文件日期为 2019 年 3 月 19 日,文件版本为 4.8.3752.0。然而这里的一个:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net471\lib

是 01/04/2020 版本 4.6.26011.1。

所以我完全糊涂了。Microsoft Graph 3.2.0表示它依赖于.NET Framework 4.6.1,但它抱怨需要system.net.http4.2.0.0,尽管安装了 .NET Framework 4.7.2,但我还是遇到了所有这些问题。

我过去从未遇到过使用 Microsoft Graph 的问题,只是因为我通过 NuGet Manager 升级到他们的最新库,我的工具完全坏了。

我已经尝试了关于绑定重定向和删除旧文件的所有关于 SO 的建议。我只是不明白为什么 Microsoft Graph 说它依赖于 4.6.1,但异常说它需要(并且找不到框架 4.7.2 的 4.2.0.0)。

我非常感谢解决此问题的任何具体步骤,以便我的应用程序不仅可以再次编译,而且可以像以前一样实际工作。

标签: .netmicrosoft-graph-api

解决方案


我偶然发现了这个问题,并根据评论说我的 app.config 需要:

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

由于 Microsoft Graph 包依赖于 .NET Framework 4.6.1,我们需要使用 4.0.0.0 system.net.http,否则会出现冲突错误。

排序。


推荐阅读