[英]Reference compatible .Net framework dll in .Net 5 project but I get an exception
[英]Can I add a reference to a .NET Framework DLL from a .NET 5 project?
微軟最近在 Build 2019 上宣布,.NET 的下一個主要版本將把 .NET Core 3.* 和 .NET Framework 4.* 統一到一個單一的 .NET 平台中,主要版本號為 5。
我不太明白,這是否意味着使用 .NET 5 我將能夠添加對用 .NET 的兩個版本編寫的庫的引用?
例如,一個 .NET 5 項目引用了 2 個程序集,一個是針對 .NET Core 3 編譯的,另一個是針對 .NET Framework 4.5 編譯的(在這種情況下,因為它引用了 .NET Framework 庫,我認為它只能在 Windows 上運行)。
.NET 5 將具有與 .NET Core 當前相同的兼容性層。
這允許您引用 .NET Framework DLL,但注意 DLL 可能不會在運行時加載或執行。 如果它是一個邏輯庫,它可能工作得很好。 如果它在例如System.Web
上減輕,則不會那么多。 這對於您沒有源代碼的 3rd 方庫特別有用。 您可以使用.NET Portability Analyzer檢查此類庫中是否使用了不受支持的 API。
也就是說,您應該嘗試將現有的 .NET Framework 庫更改為 .NET Standard 或將多目標更改為 bot .NET Framework 和 .NET Standard。
因為 .Net 不像 .net classic 那樣具有所有功能。 您可以使用從經典版本到較新版本的任何 DLL,嬰兒我也在 C# 中使用過 VB 中的庫,反之亦然。
但是有一個問題,只要庫不調用任何不受支持的 API 或已結束支持或已關閉的 API,就會出現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.