2016-06-12 62 views
6

我有幾個用於.NETv4.x的.NET dll項目。我將版本更改爲4.6.1,並且沒有任何問題重建。當我嘗試referene從我UWP項目添加到他們,我得到錯誤:如何將.NET dll引用添加到UWP項目?

The project targets '.NETCore' while the file reference targets '.NETFramework'. This is not a supported scenario.

我也不能引用.NET項目從「添加引用...'->」項目:

Unable to add a reference to project

但是在項目設置中,我看不到任何將目標更改爲'.NETCore'的內容。 是否可以從UWP項目引用.NET4.x項目或將其轉換爲UWP項目類型?

回答

10

UWP項目可以引用通用Windows類庫,便攜庫或Windows運行時組件。你的經典.NET項目都不是這些。

如果您打算繼續在傳統.NET項目和UWP中開發和使用這些庫,我建議您嘗試使用便攜式庫來選擇目標平臺,但要注意這種方法可能會有些限制,因爲它對可用的命名空間和類採用最低公分母。

另一種方法是創建兩個針對經典.NET和UWP的不同項目,並在它們之間共享代碼,將文件添加爲鏈接或使用共享項目。然後解決所有有關條件編譯的問題,構建它們並在兩種情況下使用適當的輸出.dll。

+0

我有這個問題。有沒有一種簡單的方法將..NET經典庫改爲PCL? – erotavlas

+0

取決於您擁有多少平臺特定的代碼。我個人會以「殘酷的力量」來做到這一點:創建PCL並複製所有代碼,然後開始消除/替換所有不適合的代碼。也許有更高效的方法。也有最近公佈的.NET標準,可以用於與PCL相同的目的,但我還沒有仔細研究過它。你可以[在這裏檢查](http://stackoverflow.com/questions/39050911/net-standard-net-core-pcl)獲取更多信息。 –

相關問題