我正在尝试针对框架4.6.1创建一个.net核心单元测试项目,该项目测试依赖于Microsoft.SqlServer.Types(10.0.0.0)的项目。在.net核心之前,我添加了一个带有绑定重定向的app.config文件。我试过这个但是当我从visual studio运行时,绑定重定向似乎没有被提取。我该怎么做才能修复绑定重定向?
答案 0 :(得分:31)
如果您在项目中引用Microsoft.NET.Test.Sdk> = 15.3.0,它会自动打开所需的MSBuild属性,如Fabian所述。请参阅here。
您可以将以下设置添加到.csproj
文件中:
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
否则,如Joao所说,将其添加到解决方案根目录中的app.config
也可以。确保将其Copy to Output Directory
设置为Copy always
或Copy if Newer
。
答案 1 :(得分:8)
引用NuGet包Microsoft.NET.Test.Sdk
&gt; = 15.3.0(我使用Microsoft.NET.Test.Sdk 15.3.0-preview-20170601-03
)为我解决了这个问题。该软件包会自动打开@ Mardoxx答案中提到的MSBuild属性。
(我在Martin Andreas Ullrich的https://github.com/NuGet/Home/issues/5335#issuecomment-306318810收到了此信息。)
答案 2 :(得分:0)
就我而言,上述解决方案都无济于事(即使绑定重定向是自动生成的还是手动添加的,看起来这些黑客确实不再起作用,如@Joao所建议的那样。)
因此,即使未直接使用该软件包,我也将其添加到项目中,从而解决了该问题。我不喜欢这种方法,但这是为我工作的唯一方法。
希望这种方法也可以帮助其他人。