Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I add an assembly binding redirect to a .net core unit test project?

Tags:

I'm trying to create a .net core unit test project against framework 4.6.1 which tests an project dependent on Microsoft.SqlServer.Types (10.0.0.0). Prior to .net core I'd add an app.config file with the binding redirect. I've tried this but the binding redirect does not seem to be picked up when I run from visual studio. What can I do to fix the binding redirect?

like image 319
JeffreyABecker Avatar asked Aug 31 '16 14:08

JeffreyABecker


People also ask

How do I add assembly binding redirect?

Specify assembly binding in configuration files. You use the same XML format to specify binding redirects whether it's in the app configuration file, the machine configuration file, or the publisher policy file. To redirect one assembly version to another, use the <bindingRedirect> element.

What is auto generate binding redirects?

Binding redirects are added if your app or its components reference more than one version of the same assembly, even if you manually specify binding redirects in the configuration file for your app. The automatic binding redirection feature affects desktop apps that target . NET Framework 4.5. 1 or a later version.


1 Answers

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.

like image 149
Mardoxx Avatar answered Sep 29 '22 02:09

Mardoxx