.NET 和 .NET Core 项目的单一类库项目

Posted

技术标签:

【中文标题】.NET 和 .NET Core 项目的单一类库项目【英文标题】:Single class library project for .NET and .NET Core projects 【发布时间】:2021-11-05 07:30:39 【问题描述】:

是否可以使用 Visual Studio 创建一个可以被 .NET 和 .NET 核心项目引用的简单类库项目?

我尝试创建一个类库项目(一个用于创建面向 .net 标准和 .net 核心的类库的项目),但它不允许我添加作为对 .net 项目的引用。

然后,我为 .NET 框架创建了一个类库(用于创建 C# 类库 .dll 的项目),我可以将其添加为两个项目的引用,但无法在 linux 操作系统上运行。

我在通用项目中包含的唯一 nugget 包是 Newtonsoft.Json (13.0.1)

解决方案属性:

.NET 框架项目:4.5 (WebAPI) .NET 核心项目:5.0(MVC 剃须刀) .NET 框架类库:4.5

【问题讨论】:

对于 .NET Framework 4.5,您可以使用的最新 .NET Standard 版本是 1.0 (source)。您是否有机会更新到更新的框架版本?如果这不可能,也许您可​​以创建一个共享库,然后为它创建单独的 .NET Standard 和 .NET Framework 项目? 你好@Llama,我必须检查服务器的历史以及它可以支持的最新版本。但我在该图表上看不到我的 .NET Core 版本(.NET 5.0),是否有可以支持它的 .NET 框架版本? .NET Core 已经过渡到 .NET 5,因此它位于图表中 .NET Core 上方的行中。 @Llama .NET 行的所有单元格的值都为5.0。那不是说它兼容.NET框架4.5吗? 如果您有 .NET 4.5 WebAPI 的源代码,那么您可以打开它,告诉它以 4.7.2 或更高版本为目标,重新构建并重新测试?这将为您提供 .NET Standard 2.0 支持,您可以使用共享库作为目标。 【参考方案1】:

我通过使用 .NET 框架 4.7.2 重新创建 .NET 项目(仅更改版本无法正确加载引用)并使用 .NET 标准 2.0 重新创建公共库来解决了这个问题。

感谢 cjb110 和 Llama 的帮助。

【讨论】:

以上是关于.NET 和 .NET Core 项目的单一类库项目的主要内容,如果未能解决你的问题,请参考以下文章

无法从完整的 .NET 项目项目引用 .NET Core 类库

.NET Core和.NET标准类库项目类型有什么区别?

Net Core 多项目开发(net core 类库项目使用)

NET Standard vs Net Core App:创建 .NET Core 项目时(使用控制台或类库)

如何在 .NET Core 类库中引用 Visual Studio 共享项目

.NET Core 系列5 :使用 Nuget打包类库