无法加载文件或程序集“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文件如下:
<?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‘类型
发布于 2021-06-01 07:17:00
这通常是其他软件包中的一个直接引用Newton.JSON
版本12.0.0.0 (在本例中可能是google包)。
当您将13.0.1添加到项目中时,其他包无法找到引用。
您可以在配置中添加以下内容:
<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。
发布于 2021-06-01 07:15:05
查看.csproj文件,它也应该更新v13
示例
<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中的依赖程序集也已更新。
示例:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
发布于 2021-06-11 14:24:41
我也遇到了同样的问题,我发现重要的是要注意其他一些事情。康纳的回答是正确的,但我的用户仍然有这个问题。我的应用程序是一个WPF应用程序,而即使我在我的app.config中有这个变化,他们的应用程序中也没有。在他们失败的时候,找到它花了几个小时。
https://stackoverflow.com/questions/67784166
复制相似问题