簡體   English   中英

從 .Net 標准類庫引用 .Net Core 3.1 項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM