首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用Google.Apis加载文件或程序集'Newtonsoft.Json,Version=12.0.0.0问题。*

无法使用Google.Apis加载文件或程序集'Newtonsoft.Json,Version=12.0.0.0问题。*
EN

Stack Overflow用户
提问于 2021-06-01 07:06:38
回答 3查看 6.5K关注 0票数 1

无法加载文件或程序集“Newtonsoft.Json、Version=12.0.0.0、Culture=neutral、PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。所定位的程序集的清单定义与程序集引用不匹配。(HRESULT例外: 0x80131040)

想尽办法找出这份推荐信。我正在运行一个.NET Frameworkv4.5项目,然后将DLL导入到一个aspx页面中。

DLL包含一个用于连接到Google的类,特别是用于Google的类。

我尝试过删除所有的NuGet引用并重新安装。我已经确保他们都更新到最新的稳定版本。Newton.JSON库被专门设置为13.0.1。

我的packages.config文件如下:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Google.Apis" version="1.51.0" targetFramework="net45" />
  <package id="Google.Apis.Auth" version="1.51.0" targetFramework="net45" />
  <package id="Google.Apis.Calendar.v3" version="1.51.0.2312" targetFramework="net45" />
  <package id="Google.Apis.Core" version="1.51.0" targetFramework="net45" />
  <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net45" />
  <package id="System.Net.Http" version="4.0.0" targetFramework="net45" />
</packages>

我看到其他人建议在下面的文件夹中更新web.config文件:web.config,我不知道为什么。其中没有对Newton.JSON库的引用。

下一个去哪?

编辑:我已经按照下面的建议解决了这个问题,通过编辑网站的web.config将旧的引用指向新的引用,但是我现在收到了以下错误:

无法从程序集'mscorlib、PublicKeyToken=b77a5c561934e089'、Version=4.0.0.0、Culture=neutral、Culture=neutral加载'System.Reflection.IntrospectionExtensions‘类型

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-06-01 07:17:00

这通常是其他软件包中的一个直接引用Newton.JSON版本12.0.0.0 (在本例中可能是google包)。

当您将13.0.1添加到项目中时,其他包无法找到引用。

您可以在配置中添加以下内容:

代码语言:javascript
运行
复制
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">     
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
    <loadFromRemoteSources enabled="true" />
  </runtime>

这样做是,当代码或其中一个包引用版本0到13之间的Newtonsoft.Json版本时,它现在将引用版本13。

票数 3
EN

Stack Overflow用户

发布于 2021-06-01 07:15:05

查看.csproj文件,它也应该更新v13

示例

代码语言:javascript
运行
复制
 <ItemGroup>
    <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
    </Reference>
    <Reference Include="System.Net.Http" />
  </ItemGroup>

并确保web config中的依赖程序集也已更新。

示例:

代码语言:javascript
运行
复制
  <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
        <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
  </dependentAssembly>
票数 2
EN

Stack Overflow用户

发布于 2021-06-11 14:24:41

我也遇到了同样的问题,我发现重要的是要注意其他一些事情。康纳的回答是正确的,但我的用户仍然有这个问题。我的应用程序是一个WPF应用程序,而即使我在我的app.config中有这个变化,他们的应用程序中也没有。在他们失败的时候,找到它花了几个小时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67784166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档