c# - 在完整的 .NET Framework 4.6 中使用 ASP.NET Core 功能
问题描述
参考为什么将完整的 .NET Framework 与 ASP.NET Core 一起使用?,看来.NET 4.7.2 是前进的方向?
我们现有的应用程序使用 ASP.NET Boilerplate 以 .NET 4.6.1 为目标。
是否必须迁移到 .NET 4.7.* 才能利用 ASP.NET Core 2.1 功能?
解决方案
要使用 .NET Core 2.1 功能,您需要以 .NET Core 2.1 为目标
有 .NET Standard,它是一系列实现中可用的功能的交集,包括 .NET Core 和 .NET Framework。如果您以 .NET Standard(某些特定版本)为目标,则可以使用该版本 .NET Standard 中提供的功能,并且它应该在 .NET Framework 4.7.2 或 .NET Core 2.1 上运行。
作为一般指南:库(例如 Aspnet Boilerplate)现在应该 - 在可能的情况下 - 以 .NET Standard 为目标,但通常会有多目标构建,以允许它们在内部利用特定框架的目标特定功能(可能使用增强的.NET Core 中的“跨度”或 SIMD 功能)。
应用程序代码应该(并且必须,如果它是可执行文件)以特定框架为目标,例如 .NET Framework 或 .NET Core。
推荐阅读
- webpack - Webpack MiniCSSExtractPlugin:cacheGroups 取决于导入文件名
- sql - 无损连接分解属性 - BCNF 分解只有一个无损分解
- python - 如果列包含 Pandas 中的字符,则更改列类型
- cypress - 当 cypress 中的 DOM 中不存在元素时显示错误消息
- web-crawler - 提交的 URL 被 robots.txt 阻止
- vbscript - 经典的 asp 发布登录表单不再起作用
- laravel - 在 Laravel 5.7 中使用 Guzzle 6 在 Sage API 3.1 上工作时缺少请求正文
- jquery - Ajax 表单偶尔会将数据添加到 URL 而不是 POST 然后重定向
- matlab - 如何签署已编译的 matlab 程序的已安装可执行文件?
- c# - 是否有任何预定义的异常类型用作异常列表的容器?