Asp.net 我可以使用多个DNX版本吗?
我已经创建了一个新的ASP.NET 5项目,我面临着一些我不太了解新ASP.NET如何工作的问题 在我的参考文献中有DNX 4.5.1和DNX Core 5.0。当我从Nu Get安装新软件包时,有些软件包在这两个版本中都安装成功,有些软件包告诉我DNX Core 5.0不支持它们Asp.net 我可以使用多个DNX版本吗?,asp.net,nuget,asp.net-core,asp.net-core-mvc,dnx,Asp.net,Nuget,Asp.net Core,Asp.net Core Mvc,Dnx,我已经创建了一个新的ASP.NET 5项目,我面临着一些我不太了解新ASP.NET如何工作的问题 在我的参考文献中有DNX 4.5.1和DNX Core 5.0。当我从Nu Get安装新软件包时,有些软件包在这两个版本中都安装成功,有些软件包告诉我DNX Core 5.0不支持它们 我可以使用多个版本的DNX来支持我的软件包吗?或者我必须使用DNX Core 5.0来绑定这些东西才能享受ASP.NET 5的优势,比如跨平台和其他方面?ASP.NET 5项目是多目标的,这意味着您可以同时为多个平台
我可以使用多个版本的DNX来支持我的软件包吗?或者我必须使用DNX Core 5.0来绑定这些东西才能享受ASP.NET 5的优势,比如跨平台和其他方面?ASP.NET 5项目是多目标的,这意味着您可以同时为多个平台编译。在您的例子中,.NET 4.5.1在完整的.NET运行时(4.5.1)和.NET核心(5.0)上以ASP.NET 5为目标。在编译项目时,ASP.NET 5实际上会为这两个目标创建输出,因此,假设您获得了为这两个平台编译的代码,那么应用程序可以在其中任何一个平台上运行。可以为项目运行其他目标 但是,当您实际运行应用程序时,必须选择要在其下运行的.NET运行时的特定版本。在VisualStudio中,项目设置中有一个下拉列表,您可以在其中选择实际执行的运行时。使用命令行发布时,还可以使用参数指定发布到哪个平台(如果省略,则使用活动的DNX运行时) 至于区别,.NETCore是完整的.NET运行时的精简版本,它是跨平台的,可以在Windows和其他平台(如Linux和OSX)上运行。因为它必须在其他平台上运行,所以许多特定于平台的Windows功能在此运行时中不受支持,而且由于平台仍在发展,一些API根本没有在.NET Core中实现。这就是当您使用现有代码/库以.NET内核为目标时,可能会看到许多编译错误的原因。为了在.NET核心上运行,现有的.NET代码通常需要至少进行一些小的调整,以考虑更小的API占用空间,并且可能需要重新设计以解决缺少的功能 如果您需要使用现有代码并依赖基于.NET以前版本的程序集/NuGet包,则必须坚持使用完整的.NET版本。您仍然可以利用新的ASP.NET 5功能和eco系统,并从以前的.NET版本中使用的完整.NET运行时和完整API界面中获益。缺点是运行时仅限于Windows,占用的资源更大 .NETCore是一个新的运行时,您应该这样对待它。迁移到此平台可能不是一项简单的任务。该平台的优点是占地面积更小,可以跨多个操作系统平台运行
随着Microsoft扩展功能集和跨平台兼容性,可能需要一段时间才能充分发挥.NET Core的潜力,但我们不知道它会是什么样子,因为它仍处于测试阶段(好吧,RC,但它确实是一个测试阶段,RC2仍有重大变化).4.5.1是.NET Framework的配置文件,而5.0是.NET核心的配置文件。它们是不同的CLR环境。如果您的应用程序需要支持Linux,也称为跨平台,那么您必须选择.NET Core 5,并确保所有依赖项都与该环境兼容。许多现有软件包可能还不兼容。您要么等待作者赶上,要么切换到其他软件包。谢谢!我试图将一些代码从ASP.NET 4项目传递到ASP.NET 5项目,但在软件包兼容性方面遇到了很多问题,主要是与我的WebAPI所基于的Selfhost兼容。谢谢!我开始构建学院的最终项目,我开始在ASP.NET 4项目(.NET Framework 4.6)中编码,然后我注意到“大型ASP.NET 5 RC”的发布!因此,我尝试将我在第一个项目中所做的几件事情传递给新的ASP.NET5项目,但很多事情都不起作用。主要是OWIN Selfhost包,我的WebAPI项目就是基于这个包的。嗯,我想至少等一年再使用它是个好主意。。。