当项目文件将AutoGenerateBindingRedirects设置为true时,为什么必须在XUnit规范中使用绑定重定向

时间:2017-04-26 12:17:28

标签: f# msbuild xunit.net assembly-binding-redirect

我有一个基于XUnit的规范项目,用F#编写。 AutoGenerateBindingRedirects 设置为 true ,如

 <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

但是要在VS2017测试运行器中运行规范,我需要添加带有绑定重定向的app.config。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
      </dependentAssembly>
      <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>
      <dependentAssembly>
        <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.4.1.0" newVersion="4.4.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

在这种情况下,AutoGenerateBindingRedirects是否实际执行了任何操作?如果不是那么它的目的是什么?

1 个答案:

答案 0 :(得分:1)

使用此:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

您需要两个单元测试项目。