【问题标题】:What is the difference between creating a project ASP.NET Core (.NET Core) and ASP.NET Core (.NET Framework)创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别
【发布时间】:2016-11-08 18:24:17
【问题描述】:

我看不清楚最后两种项目类型之间的主要区别,实际上最后一种有什么意义? .NET Core 和 .NET Framework?

【问题讨论】:

标签: c# asp.net .net asp.net-core .net-core


【解决方案1】:

不同之处在于您的目标是 .Net Core Framework 还是完整的 .Net Framework。这种差异例如在 project.json 文件中就体现出来了。

要了解的另一件事是,当您使用“ASP.NET Core Web 应用程序 (.NET Framework)”模板时,在使用 Visual Studio 时链接到面向完整框架的 .Net 库项目要容易得多。可以使用“ASP.NET Core Web 应用程序 (.NET Core)”模板完成此操作,但需要手动编辑 project.json 文件。

还可能值得一提的是,如果您以 Full Framework 为目标,则 Web 应用程序必须部署在 Windows 上,而以 .Net Core 框架为目标则允许将 Web 应用程序部署到非 Windows 环境中。但是 .Net Core Framework 的功能不如 Full Framework 丰富。 (例如,它没有用于调整图像大小的绘图例程)。您可以在此处阅读有关选择正确框架的更多信息:https://docs.asp.net/en/1.0.0-rc1/getting-started/choosing-the-right-dotnet.html

无论哪种方式,无论您选择这两个模板中的哪一个,您都将创建一个用于创建 ASP.NET Core 应用程序的项目。

实际创建的项目的一些差异

选择“ASP.NET Core Web 应用程序 (.NET Core)”(使用 Empty 选项)时,Visual Studio 2015 Update 3 中的解决方案如下所示:

这是它的 project.json 文件:

以下是选择“ASP.NET核心Web应用程序(.NET Framework)”在Visual Studio 2015更新中的解决方案如下所示(带空选项):

这是它的 project.json 文件:

【讨论】:

    【解决方案2】:

    ASP.NET Core 可以在.NET Core 或完整的.NET Framework 之上运行。因此,有一个模板取决于您是要在 .NET Core 还是完整的 .NET Framework 上构建。

    以下是 Microsoft 整理的信息图,直观地展示了这一概念:

    无论您选择哪种模板,您都可以随时编辑您的配置以同时定位这两个模板。但是这些模板只是帮助您开始使用其中一个。

    【讨论】:

    • 有没有人有针对整个框架的 asp.net 核心应用程序在 IIS 上工作?我收到一堆与未找到文件/dll 相关的错误,并且应用程序无法运行?
    • 最好单独提问。
    • @JBA 最好不要捎带你的问题。问一个新的,并提供足够的适当细节,例如描述您的配置和错误消息。
    • 据此,我可以毫无问题地拥有完整的框架和 asp.net 核心库。似乎这是因为 ASP.NET CORE 库依赖于由 .NET Framework 4.5.x 或 4.6.x 实现的“.NET Standard”库(查看此链接:docs.microsoft.com/en-us/dotnet/articles/standard/library),.NET Core 也实现了这些标准库,因此 .NET 标准库是使这成为可能的库。我是对的?
    猜你喜欢
    • 2016-10-07
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2020-05-08
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多