2016-08-31 41 views
15

我試圖創建一個.net核心單元測試項目對框架4.6.1測試項目依賴於Microsoft.SqlServer.Types(10.0.0.0)。在.net核心之前,我會添加一個帶綁定重定向的app.config文件。我試過這個,但綁定重定向似乎沒有拿起,當我從Visual Studio中運行。我能做些什麼來解決綁定重定向?如何將一個程序集綁定重定向添加到.net核心單元測試項目中?

+1

綁定重定向都不見了:https://github.com/aspnet/Home/issues/407。我認爲,如果您在_App.config_(是的,即使它是一個Web應用程序)上指定它們,它們在發佈候選期間仍然有效。但我的猜測是,即使_hack_不再工作。 – Joao

回答

26

如果您在項目中引用Microsoft.NET.Test.Sdk> = 15.3.0,它會自動打開所需的MSBuild屬性,正如Fabian下面所述。見here


您可以添加以下設置到您的.csproj文件:

<PropertyGroup> 
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> 
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> 
</PropertyGroup> 

否則他們將在解決方案的根的app.config,因爲若昂說,工作太。確保將Copy to Output Directory設置設置爲Copy alwaysCopy if Newer

+1

此答案也適用於使用VS 2017版本15.2或15.3創建且適用於完整.NET Framework的項目文件(* .csproj),例如, .NET 4.6.1。 – Manfred

+0

app.config在單元測試項目中引用.net core 2.0目前打破測試主機 – Sentinel

7

引用NuGet包Microsoft.NET.Test.Sdk> = 15.3.0(我用Microsoft.NET.Test.Sdk 15.3.0-preview-20170601-03)爲我解決了這個問題。該包會自動打開@ Mardoxx答案中提到的MSBuild屬性。

(我從Martin Andreas Ullrichhttps://github.com/NuGet/Home/issues/5335#issuecomment-306318810此信息。)

+1

輝煌,不知道這一點。謝謝。 – Mardoxx

+3

這應該是公認的答案! –

+0

@ D.R這不適用於我沒有Exe輸出類型的項目 - 必須明確指定接受的答案 –

相關問題