oracle - 哪些非 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。
这是我的困境:
- Aspose Word 的最新稳定版本(21.6)将报告它与 5.0 和 Standard 2.0 兼容,但不兼容 .NET Core。
- Oracle Managed Data 报告它与 Standard 2.1 或 Standard 2.0 兼容,但与 5.0 或 .NET Core 不兼容。
- 我自己的库报告说它们与我的 API .csproj 不兼容,如果...
3a。API 为 5.0,库为 .NET Core 或 .NET Standard
3b。API 是 Core 3.1,库是 .NET Standard。
由于我的编译脚本自然需要运行 Nuget 来检索所有必要的依赖项,因此我无法获得干净的编译,因为我的 WebAPI 和库似乎没有满足彼此兼容性需求的版本组合。由于标准库是唯一同时满足 Aspose 和 Oracle 需求的通用 .NET 版本,我的 WebAPI 可用的版本(即我不相信标准是类库以外的任何选项)与 . NET 标准库?
谢谢。
解决方案
请参阅以下文章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的下一个版本)
推荐阅读
- lex - 计算元音和辅音数量的 Lex 程序即使在输入结束后也不会终止
- azure - 通过 Azure CLI 或 Python 代码为 Storage Account Gen2 升级访问层
- linux - 无法在 Linux 中使用自动化脚本连接到 ssh-agent
- python - Python3 字节值写入 Postgres 字符串字段。如何恢复价值?
- simple-peer - 当我 addTrack(ex.screenShare track) - simple-peer 时 peer.on('signal') 再次调用
- perl - 创建 perl 脚本以远程连接到另一台服务器并读取文件?
- javascript - ': await 仅在异步函数中有效'
- c# - 通过单击 C# 中的按钮从用户指定的表中删除一行
- android - 插入新的 Firebase 数据后,RecycerView 总是重置回第一个位置
- apache-spark - AttributeError:“StructType”对象在写入镶木地板文件时没有属性“_get_object_id”