How can I add an assembly binding redirect to a .net core unit test project?
Referencing the NuGet package Microsoft.NET.Test.Sdk
>= 15.3.0 (I used Microsoft.NET.Test.Sdk 15.3.0-preview-20170601-03
) solved this problem for me. That package automatically turns on the MSBuild properties mentioned in @Mardoxx's answer.
(I got this info from Martin Andreas Ullrich at https://github.com/NuGet/Home/issues/5335#issuecomment-306318810.)
In my case none of the solutions mentioned above helped (even if the binding redirects are generated automatically or added manually, looks like these hacks are really not working anymore as @Joao suggested).
So I added the desired version of the package to my project, even if it is not used directly and this resolved the issue. I don't like this approach, but this was the only way working for me.
Hopefully this method can help others as well.
If you reference Microsoft.NET.Test.Sdk >= 15.3.0 in your project it automatically turns on the required MSBuild properties, as Fabian says below. See here.
You can add the following settings to your .csproj
file:
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
Otherwise adding them to an app.config
in the root of the solution, as Joao says, works too. Make sure you set its Copy to Output Directory
setting to Copy always
or Copy if Newer
.