2017-08-28 97 views
0

項目不兼容是用VB寫.NET在Visual Studio 2013和麪向.NET Framework 4的使用的NuGet使項目與.NET FW 4,下

我用過的NuGet下載兩個.DLL文件:AngleSharp和NHunspell。 NuGet添加自己的引用System.Runtime和System.Threading.Tasks。路徑是

d:\開發\ MyProject的\包\ Microsoft.Bcl.1.1.8 \ LIB \ net40 \ System.Runtime.dll

雖然該項目面向.NET Framework 4中,有問題的dll文件在詳細信息窗格中顯示運行時「v4.0.30319」,並且正則表達式搜索在我的整個解決方案中未發現引用高於4.0的Framework,但我仍然無法從以4.0爲目標的項目引用我的dll。

如果我編譯我的.dll文件,然後從該目標Framework 4的另一個項目中,我得到以下警告引用它:

主要參考「MyOtherProject,版本= 1.0.0.0,文化=中立,ProcessorArchitecture用於= 86 「無法解決,因爲它對框架程序集」System.Threading.Tasks,Version = 2.6.8.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a「具有間接依賴性,這在目前的目標框架中無法解決。 」 .NETFramework,版本= V4.0" 。要解決此問題,請刪除引用「MyOtherProject,Version = 1.0.0.0,Culture = neutral,processorArchitecture = x86」或將應用程序重定向到包含「System.Threading.Tasks,Version = 2.6.8.0,Culture =中立,PublicKeyToken = b03f5f7f11d50a3a「。

我得到System.Runtime相同的警告。

如果我從MyOtherProject目標4.5或更高,它完美編譯。我需要它4.0,因爲它需要與遺留系統一起工作。

+1

您是否將nuget添加到您引用該項目的其他項目?這是必需的,所以dll也添加到這些項目中。 –

回答

1

使用的NuGet使項目與.NET FW 4,下

你也應該在NuGet包AngleSharpNHunspell添加到引用該項目「MyOtherProject」項目不兼容。

按照AngleSharp,你可以看到,這包有.NETFramework 4.0依賴但.NETFramework 4.5沒有依賴關係:

enter image description here

安裝了這兩個程序包到工程後,引用System.RuntimeSystem.Threading.Tasks將被添加到項目中,但是當我們添加此項目作爲其他項目的參考時,這兩個參考將不會添加。那爲什麼你得到錯誤「無法解決,因爲它對框架程序集」System.Threading.Tasks「」間接依賴。

要解決此問題,您應該將NuGet包添加到引用項目「MyOtherProject」的項目中。

相關問題