Próbuję utworzyć projekt testowy jądra .net przeciwko ramie 4.6.1, która testuje projekt zależny od Microsoft.SqlServer.Types (10.0.0.0). Przed rdzeniem .net dodałem plik app.config z powiązanym przekierowaniem. Próbowałem tego, ale wiążące przekierowanie nie wydaje się być pobierane, gdy uruchamiam z visual studio. Co mogę zrobić, aby naprawić wiążące przekierowanie?Jak dodać przekierowanie powiązania zestawu do projektu testowego jednostki głównej .net?
Odpowiedz
Jeśli odwołasz się do Microsoft.NET.Test.Sdk> = 15.3.0 w swoim projekcie, automatycznie włącza wymagane właściwości MSBuild, jak mówi Fabian poniżej. Zobacz here.
Można dodać następujące ustawienia do pliku .csproj
:
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
Inaczej dodając je do app.config
w korzeniu roztworu, jak mówi Joao, działa też. Upewnij się, że ustawiono jego Copy to Output Directory
ustawienie na Copy always
lub.
Ta odpowiedź działa również w przypadku plików projektów (* .csproj), które zostały utworzone w VS 2017 w wersji 15.2 lub 15.3 i które są przeznaczone dla pełnego środowiska .NET Framework, np. .NET 4.6.1. – Manfred
app.config w jednostkowym projekcie testowym odwołującym się do .net core 2.0 obecnie łamie testowego hosta – Sentinel
Odwołanie do pakietu NuGet Microsoft.NET.Test.Sdk
> = 15.3.0 (użyłem Microsoft.NET.Test.Sdk 15.3.0-preview-20170601-03
) rozwiązało ten problem dla mnie. Pakiet ten automatycznie włącza właściwości MSBuild wymienione w odpowiedzi @ Mardoxx.
(mam to info z Martin Andreas Ullrich w https://github.com/NuGet/Home/issues/5335#issuecomment-306318810.)
Brilliant, nie wiedziałem tego. Dziękuję Ci. – Mardoxx
To powinna być zaakceptowana odpowiedź! –
@ D.R to nie działa dla mnie w projekcie, który nie ma typu wyjściowego Exe - musiał określić dokładnie tak jak przy zaakceptowanej odpowiedzi –
wiążące przekierowania odeszły: https://github.com/aspnet/Home/issues/407. Wydaje mi się, że w pewnym momencie pracowali jeszcze nad wersjami kandydatów do wydania, jeśli określili je na _App.config_ (tak, nawet jeśli jest to aplikacja internetowa). Ale domyślam się, że nawet on nie działa. – Joao