当我的解决方案中的所有内容都引用8.0.3时,如何才能看到需要NewtonSoft.Json 6.0.0.0的内容?

时间:2017-03-22 16:12:14

标签: c# json dll json.net filenotfoundexception

我的VS2015解决方案(4.5.2)有3个项目和3个其他测试项目。 4个项目引用NewtonSoft.Json,全部设置为使用版本8.0.3

所有app.config和web.config文件都包含

的重定向
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
           <assemblyIdentity name="Newtonsoft.Json"
               publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
           <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
       </dependentAssembly>
    </assemblyBinding>
</runtime>

(并且配置标记没有名称空间属性)

我在开发箱上运行测试,一切都很好。

我部署到我的构建服务器(TeamCity),这使我的测试失败了

  

System.IO.FileNotFoundException:无法加载文件或程序集   &#39; Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,   公钥= 30ad4fe6b2a6aeed&#39;或其中一个依赖项。该   系统找不到指定的文件。

每个已编译的项目在其/ bin / Release文件夹中都有一个NewtonSoft.Json.Dll的副本,并且都是8.0.3版本

构建服务器在其GAC版本8.0.3中具有NewtonSoft.Json.Dll

所以这就是我需要知道的......

如何找出要求6.0.0.0版的内容?

如何杀死它?

1 个答案:

答案 0 :(得分:1)

您必须启用FusionLog才能查看哪个dll要求使用此版本的Newtonsoft。