我有以下项目:
.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 项目是否仍然是跨平台的?
UPDATE
根据Phiter https://stackoverflow.com/users/4802649/phiter评论:
“如果你将 .net 框架库导入到你的项目中,它将不再是跨平台的,但如果你愿意,你可以自由地进行。他们允许这样做,因为你可能想使用 .net core 并且仍然在 Windows 上。 ”
因此,如果这是一个原因,如果我想将我的项目绑定到 .NET Framework 并保留在 Windows 上,为什么我一开始就使用 Core Web Project?
我认为我们使用核心项目来实现跨平台能力,如果没有,.Net 框架不是更好的选择吗?
UPDATE
mason https://stackoverflow.com/users/1139830/mason评论:
“没什么好笑的:ASP.NET Core 项目不必在 .NET Core 上运行。它也可以在 .NET Framework 上运行。
仅仅因为它被称为“核心”并不意味着它们是相关的。他们可以将其称为 ASP.NET FancyPants,并让它在 .NET Core 和 .NET Framework 上运行,这样您就不会那么困惑了。微软就是不善于命名。”
更新(2018 年 11 月 12 日)
初步了解 ASP.NET Core 3.0 中的变化 - 充分利用 .NET Core https://blogs.msdn.microsoft.com/webdev/2018/10/29/a-first-look-at-changes-coming-in-asp-net-core-3-0/
As 本月早些时候在 .NET 博客上宣布 https://blogs.msdn.microsoft.com/dotnet/2018/10/04/update-on-net-core-3-0-and-net-framework-4-8/由于 .NET Framework 的就地更新性质以及限制可能破坏现有应用程序的更改的愿望,.NET Framework 将获得更少的 .NET Core 中的新平台和语言功能。为了确保 ASP.NET Core 能够充分利用 .NET Core 的改进,从 3.0 开始,ASP.NET Core 只能在 .NET Core 上运行 https://github.com/aspnet/Announcements/issues/324。展望未来,您可以简单地将 ASP.NET Core 视为 .NET Core 的一部分。
如今,在 .NET Framework 上使用 ASP.NET Core 的客户可以继续以完全支持的方式使用2.1 LTS 版本 https://www.microsoft.com/net/download/dotnet-core/2.1。根据.NET Core 支持政策 https://www.microsoft.com/net/platform/support-policy.