[英]Referencing a .Net Core 3.1 project from a .Net Standard Class Library
所以我有一個.NET Core 3.1
項目。 我正在嘗試創建一個單元測試項目來配合它。 為此,我創建了一個.NET Standard 2.1 Class Library
。 然后我嘗試添加對主項目的引用,以便能夠從那里引用代碼。 這不起作用,因為我收到以下編譯錯誤:
“..\\MyProj\\MyProj.csproj”針對“netcoreapp3.1”。 它不能被以“.NETStandard,Version=v2.1”為目標的項目引用。 Project MyProj 與 netstandard2.1 (.NETStandard,Version=v2.1) 不兼容。 項目 MyProj 支持:netcoreapp3.1 (.NETCoreApp,Version=v3.1) 測試 (test\\Test)
所以這對我來說確實有意義,因為我理解為什么.NET Core
無法引用.NET Standard
項目。
但是,我該如何創建單元測試項目呢? 是否可以創建.NET Core 3.1 Class Library
? 從我讀過的所有內容來看,這似乎不存在。
如何設置引用主項目的單元測試項目?
.NET Standard 是作為不同 .NET 實現的接口創建的。 例如,這允許您在 .NET Core 和完整的 .NET 框架之間共享代碼。 我會將您的庫創建為 .NET Standard 2.0 項目,然后您可以在您的 .NET Core 3.1 應用程序和單元測試項目中引用它。
我只建議使用 .NET Standard,因為它通常比 .NET Framework 或 .NET Core 庫更具可移植性。 你將能夠使用 .NET Standard 以更多平台為目標,例如 Xamarin、桌面或 Web。
我認為您只需要在您的項目中使用 .Net Core 3.1,而不是 NetStandard。 我是這樣使用的,沒有任何問題。 我想你真的不需要你的單元測試是可移植的嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.