我正在尝试创建一个针对框架4.6.1的.net core单元测试项目,该项目依赖于Microsoft.SqlServer.Types(10.0.0.0)。在使用.net core之前,我会添加一个app.config文件来进行绑定重定向。我已经尝试过这样做,但是当我从Visual Studio运行时,绑定重定向似乎没有被捕获。我应该怎么做才能修复绑定重定向问题?
我正在尝试创建一个针对框架4.6.1的.net core单元测试项目,该项目依赖于Microsoft.SqlServer.Types(10.0.0.0)。在使用.net core之前,我会添加一个app.config文件来进行绑定重定向。我已经尝试过这样做,但是当我从Visual Studio运行时,绑定重定向似乎没有被捕获。我应该怎么做才能修复绑定重定向问题?
如果您在项目中引用 Microsoft.NET.Test.Sdk >= 15.3.0,它会自动打开所需的 MSBuild 属性,就像 Fabian 在下面所说的那样。请参见此处。
您可以将以下设置添加到.csproj
文件中:
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
否则,像Joao所说的那样将它们添加到解决方案的根目录下的app.config
中也可以。确保将其Copy to Output Directory
设置为Copy always
或Copy if Newer
。参考 NuGet 包 Microsoft.NET.Test.Sdk
>= 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 中获取了这些信息。)