首页 > 解决方案 > 哪些非 4.* .NET 应用程序版本与 Standard 兼容?

问题描述

我正在构建一个 MVC Web API(服务),并在特定情况下返回视图。作为架构决策,我被指示不要在 .NET Framework 4.* 中构建服务项目。相反,我将首先尝试 .NET 5.0,如果 5.0 不起作用,然后再尝试 Core 3.1。

我的解决方案中的这个服务项目将依赖于几个类库项目,称为 DataLibrary、ComplexLibrary 和 DocLibrary。DataLibrary 将依赖于 Oracle 的 Nuget 包,无论是 ODP 还是 Oracle 托管数据,以便通过该数据库上的 Oracle 包查询 Oracle 数据库。DocLibrary 将依赖于 Aspose Word 和 Aspose PDF 的 Nuget 包。ComplexLibrary 将依赖于 Oracle 和 Aspose。

这是我的困境:

  1. Aspose Word 的最新稳定版本(21.6)将报告它与 5.0 和 Standard 2.0 兼容,但不兼容 .NET Core。
  2. Oracle Managed Data 报告它与 Standard 2.1 或 Standard 2.0 兼容,但与 5.0 或 .NET Core 不兼容。
  3. 我自己的库报告说它们与我的 API .csproj 不兼容,如果...

3a。API 为 5.0,库为 .NET Core 或 .NET Standard

3b。API 是 Core 3.1,库是 .NET Standard。

由于我的编译脚本自然需要运行 Nuget 来检索所有必要的依赖项,因此我无法获得干净的编译,因为我的 WebAPI 和库似乎没有满足彼此兼容性需求的版本组合。由于标准库是唯一同时满足 Aspose 和 Oracle 需求的通用 .NET 版本,我的 WebAPI 可用的版本(即我不相信标准是类库以外的任何选项)与 . NET 标准库?

谢谢。

标签: oracleasp.net-core-webapi.net-5.net-standardaspose.words

解决方案


请参阅以下文章https://docs.microsoft.com/en-us/dotnet/standard/net-standard。.NET Standard 不是一个框架,它是一种规范,.NET Core、.NET 5、Mono 框架等是 .NET Standard 的实现。因此,对于库项目,我会选择 .NET Standard 和服务 .NET Core 或 .NET 5(实际上是.NET Core的下一个版本)


推荐阅读