asp.net - .NET Core 项目添加对 .NET Framework 项目的引用。为什么有可能?

标签 asp.net .net asp.net-core

我有以下项目:

.NET Core 2.0 Web 应用程序

.NET Standard 2.0 类库 &

.NET Framework 4.5 类库。

我将.net框架类库的引用添加到asp.net core web api项目中。看起来效果很好。

我想知道为什么可以将 .NET Framework 类库项目的引用添加到 ASP.NET Core Web API 或 MVC?

它不应该允许只添加标准或核心库引用到核心项目吗? 这个带有 .NET Framework 类库引用的核心 Web 项目是否仍然是跨平台的?

更新

根据Phiter评论:

“如果你将 .net 框架库导入到你的项目中,它将不再是跨平台的,但如果你愿意,你可以自由地进行。他们允许这样做,因为你可能想使用 .net core 并且仍然可以在 Windows 上。”

所以,如果这是一个原因,如果我想将我的项目绑定(bind)到 .NET Framework 并保留在 Windows 上,为什么我一开始就使用 Core Web Project?

我认为我们使用核心项目来实现跨平台能力,如果没有,.Net 框架不是更好的选择吗?

更新

mason评论:

“没什么好笑的:ASP.NET Core 项目不必在 .NET Core 上运行。它也可以在 .NET Framework 上运行。

仅仅因为它被称为“核心”并不意味着它们是相关的。他们可以将其称为 ASP.NET FancyPants,并让它在 .NET Core 和 .NET Framework 上运行,这样您就不会那么困惑了。微软只是不擅长命名事物。”

更新(2018 年 11 月 12 日)

<强> A first look at changes coming in ASP.NET Core 3.0 - Fully leveraging .NET Core

announced on the .NET Blog earlier this month由于 .NET Framework 的就地更新性质以及限制可能破坏现有应用程序的更改的愿望,.NET Framework 将获得更少的 .NET Core 中的新平台和语言功能。为了确保 ASP.NET Core 能够充分利用 .NET Core 的改进,ASP.NET Core will only run on .NET Core starting from 3.0 。展望 future ,您可以简单地将 ASP.NET Core 视为 .NET Core 的一部分。

现在,在 .NET Framework 上使用 ASP.NET Core 的客户可以使用 2.1 LTS release 以完全受支持的方式继续这样做。 。根据.NET Core support policy,对 2.1 的支持和服务将至少持续到 2021 年 8 月 21 日(声明为 LTS 版本 3 年后)。 .

最佳答案

这只是作为 .NET Standard/Core 2.0 的一部分添加的。只要 .NET Framework dll 仅引用 .NET Standard 中的内容,它就会使用类型转发到 .NET Core 实现。

关于asp.net - .NET Core 项目添加对 .NET Framework 项目的引用。为什么有可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47874095/

相关文章:

c# - 防止多次重复数据输入实体数据库(关闭)

c# - 客户端验证通过 JavaScript eval() 手动回发

c# - 未为成员 MySql.Data.MySqlClient.MySqlException、MySql.Data 解析 ASP.NET MVC 类型

.net - 如何从 SD 卡读取原始字节?

azure - 需要帮助调查 Azure 应用服务 .NET Core 2.1 ArgumentOutOfRangeException 和 System.OverflowException

c# - 在 .NET Core 解决方案中同时拥有 API 和 MVC 项目的约定

.net - session 状态只能在配置中将enableSessionState设置为true时使用

c# - 如何在多行字符串中转义引号? C#

azure - 为什么我的应用程序要求未在 Azure AD 应用程序中配置的权限

asp.net - 部署到 Azure 中的网站时如何删除 'site' 目标目录?