System.Net.Http.Formatting.dll中出现'System.IO.FileNotFoundException'类型的第一次机会异常

时间:2016-03-31 11:42:10

标签: c# .net-assembly gac

使用nuget我安装了System.Net.Http.Formatting.dll和Newtonsoft.Json.dll

<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
  

System.Net.Http.Formatting.dll中出现'System.IO.FileNotFoundException'类型的第一次机会异常

     

其他信息:无法加载文件或程序集“Newtonsoft.Json,Version = 4.5.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其中一个依赖项。系统找不到指定的文件。

注意:版本=“8.0.3”的Newtonsoft.Json已在使用中。那么如何包含两个Newtonsoft.Json版本?

因为错误表明System.Net.Http.Formatting.dll找不到版本4.5.0.0的Newtonsoft.Json

1 个答案:

答案 0 :(得分:0)

为了实现这一点,您需要将一个dll添加到bin文件夹中名为V-1的文件夹中。然后进行如下配置更改,(将标签的相应值放在&lt;&gt;例如AssemblyName,Version-1等中)。

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>        
    <assemblyIdentity name="<AssemblyName>" publicKeyToken="<PublicKeyToken>" culture="neutral" />
        <codeBase version="<Version-1>" href="V-1\<AssemblyName>.dll" />
        <codeBase version="<Version-2>" href="<AssemblyName>.dll" />
    </dependentAssembly>      
</assemblyBinding>

然后,

  1. 请在visual studio中打开解决方案资源管理器
  2. 在项目
  3. 下打开参考
  4. 选择 Newtsoft 参考并转到其属性。
  5. 设置特定版本= True 复制本地=错误
  6. 确保您的输出目录中不包含此dll。