gpt4 book ai didi

asp.net - 我可以使用多个 DNX 版本吗?

转载 作者:行者123 更新时间:2023-12-02 14:56:11 24 4
gpt4 key购买 nike

我创建了一个新的 ASP.NET 5 项目,但我遇到了一些我不太了解新 ASP.NET 如何工作的问题。

我的引用文献中有 DNX 4.5.1 和 DNX Core 5.0。当我从 Nu-Get 安装新软件包时,有些软件包在两者中都安装成功,有些软件包告诉我 DNX Core 5.0 不支持它们。

我可以使用多个版本的 DNX 来支持我的包,还是我必须将这些内容与 DNX Core 5.0 绑定(bind)才能享受 ASP.NET 5 的优势,例如跨平台等?

最佳答案

ASP.NET 5 项目是多目标的,这意味着您可以同时针对多个平台进行编译。在您的情况下,.NET 4.5.1 在完整的 .NET 运行时 (4.5.1) 和 .NET Core (5.0) 上面向 ASP.NET 5。当您编译项目时,ASP.NET 5 实际上为这两个目标创建输出,因此 - 假设您获得了为两个平台编译的代码 - 应用程序可以在其中任何一个平台上运行。可以为您的项目运行其他目标。

当您实际运行应用程序时,您必须选择要运行的 .NET 运行时的特定版本。在 Visual Studio 中,项目设置中有一个下拉列表,您可以在其中选择实际执行的运行时。当您使用命令行发布时,您还可以使用参数指定要发布到的平台(如果省略,我相信它会使用事件的 DNX 运行时)。

至于差异 - .NET Core 是完整 .NET 运行时的精简版本,它是跨平台的,可以在 Windows 以及 Linux 和 OSX 等其他平台上运行。由于它必须在其他平台上运行,因此该运行时不支持许多特定于平台的 Windows 功能,并且由于该平台仍在不断发展,一些 API 尚未在 .NET Core 中实现。这就是当您使用现有代码/库定位 .NET Core 时可能会看到许多编译错误的原因。为了在 .NET 核心上运行,现有的 .NET 代码通常至少需要一些细微的调整,以适应较小的 API 占用空间,并可能需要进行认真的重新设计,以解决缺失的功能。

如果您需要使用现有代码并依赖于基于早期版本 .NET 的程序集/NuGet 包,则必须坚持使用完整的 .NET 版本。您仍然可以利用新的 ASP.NET 5 功能和生态系统,并获得您在以前的 .NET 版本中习惯的完整 .NET 运行时和完整 API 界面的优势。缺点是运行时仅限 Windows,并且资源占用较大。

.NET Core 是一个新的运行时,您应该这样对待它。迁移到这个平台可能不是一项简单的任务。该平台的优点是占用空间更精简,并且可以跨多个操作系统平台运行。

随着 Microsoft 扩展功能集和跨平台兼容性,.NET Core 的全部潜力可能需要一段时间才能实现,但我们并不真正知道它会是什么样子,因为它是仍处于 Beta 阶段(当然是 RC,但它实际上是一个 Beta 版,RC2 中仍将进行重大更改)。

关于asp.net - 我可以使用多个 DNX 版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com