首页 文章

ASP.NET Core 2.0是在两个框架(.Net Framework和.NET Core)中实现的技术吗?

提问于
浏览
0

我想创建一个ASP.NET Core MVC 2 Web应用程序,我可以在Linux和Windows上(即在两个操作系统中)托管 . 所以,我要使用.Net Core . 但是当我创建新的ASP.NET Core MVC 2 Web应用程序时,我看到了两个组合框 . 首先,我要选择.NET Frmework或.NET Core . 第二个组合框仅包含ASP.NET Core 2.0 .

enter image description here

Q1:
这是否意味着ASP.NET Core 2.0是在两个框架(.Net Framework和.NET Core)中实现的技术?

以后不可能将.Net Framework切换到.NET Core . 我可以使用.NET Core但here微软写道,如果我想使用Windows服务,我将使用.NET Framework ...

我想在我的电脑上使用Nginx for Windows(而不是IIS) - 尝试它对我很有意思 . :) Here Microsoft介绍了如何使用NGinx在Linux上托管ASP.NET Core Web应用程序 . 在文章中,存在创建服务文件主题 . 但它适用于Linux ...所以,如果我想在Windows中的Nginx上托管我的ASP.NET Core MVC 2 Web应用程序,那么我被迫使用Windows服务(看看here) . 但在Host an ASP.NET Core app in a Windows Service文章中,微软写道我将使用.NET Framework而不是.NET Core ......

Q2
这是否意味着我不能将同一个项目用于构建我的Linux和Windows Web应用程序(用于Windows服务)?这是否意味着我的目标是创建两个项目:.NET Framework和.NET Core以及共享两个项目的代码源?

enter image description here

1 回答

  • -1

    Q1

    这是否意味着ASP.NET Core 2.0是在两个框架(.Net Framework和.NET Core)中实现的技术?

    .NET Core 2.0和.NET Framework 4.6.1都是.NET Standard 2.0的实现 . 这意味着他们可以做同样的事情,并且工作大致相同,但.NET Framework包含一些仅Windows的库(系统库,如Windows Forms),这意味着它只能在Windows上运行 . .Net Core程序可以在Windows,Linux和MacOS上运行 .

    以后不可能将.Net Framework切换到.NET Core . 我可以使用.NET Core但是在这里微软写道,如果我想使用Windows服务,我将使用.NET Framework ...

    虽然这在技术上是可行的,但你真的想避免它 . 这是一个非常头痛的问题,通常会破坏很多代码,缺少依赖性等 .

    我想在我的计算机上使用Nginx for Windows(而不是IIS) - 尝试它对我来说很有趣 . :)这里Microsoft描述了如何使用NGinx在Linux上托管ASP.NET Core Web应用程序 . 在文章中,存在创建服务文件主题 . 但它适用于Linux ...所以,如果我想在Windows中的Nginx上托管我的ASP.NET Core MVC 2 Web应用程序,那么我被迫使用Windows服务(请看这里) . 但是在Windows服务文章的Host a ASP.NET Core应用程序中,Microsoft写道我将使用.NET Framework而不是.NET Core ...

    我没有亲自使用NGinx for Windows,但看起来他们希望您将.NET Core应用程序的目标版本设置为.NET Framework以用于他们的示例 . 由于.NET Core没有对系统特定库的引用,因此您可以轻松地将目标更改为.NET Framework . 这不会使它成为一个.NET Framework项目,它只是改变了Visual Studio将构建它的运行时 .

    Q2

    这是否意味着我不能将同一个项目用于构建我的Linux和Windows Web应用程序(用于Windows服务)?这是否意味着我的目标是创建两个项目:.NET Framework和.NET Core以及共享两个项目的代码源?

    你绝对可以在两个平台上使用相同的应用程序,但它与你习惯的方式有点不同 . 由于.NET Core与平台无关,因此Visual Studio不会为您生成exe,它只会生成dll文件 . 然后在命令行中使用dotnet命令启动程序,例如

    dotnet helloWorld.dll
    

    这是您在任何操作系统上运行程序的方法,只要您安装了.NET Core运行时(有很多关于如何在线执行此操作的指南) .

    希望我已经清楚地回答了一切:)

相关问题