MsTest忽略app.config中的assemblyRedirect

时间:2017-06-02 03:01:07

标签: redirect app-config .net-assembly mstest

我有一个项目,我最近将json nuget包升级到v10。 同一个项目还引用了System.Net.Http.Formatting(通过Microsoft.AspNet.WebApi.Client.5.2.3包) - 它引用了json v6.0 dll。

我在测试项目中有一个app.config:

  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" 
     culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
  </dependentAssembly>

当我在VS中运行测试时,所有测试都通过了。

但是,当我使用MsTest命令(C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE中的第12版)运行相同的测试时,一堆测试方法失败,但有例外:

System.IO.FileNotFoundException: System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified

这是测试方法中失败的确切行:

HttpRequestMessage.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());

我检查了我的整个解决方案并确认没有任何项目对json v6有任何引用。

当我使用MsTest时,有没有理由忽略重定向? (我也可以在测试项目的bin文件夹中看到带有重定向的testProjectName.dll.config)

此外,我读到使用testsettings文件可以解决此问题,但我不清楚我需要在testsettings文件中重定向到更新的json。

0 个答案:

没有答案