ASP.NET Core 3 框架揭秘(上下册)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 macOS用户

除了微软的Windows平台,.NET Core针对macOS以及各种Linux Distribution(RHEL、Ubuntu、Debian、Fedora、CentOS和 SUSE等)都提供了很好的支持。本节主要介绍使用 Mac开发.NET Core应用,但需要先在macOS上构建开发环境。

1.2.1 构建开发环境

和 Windows 一样,如果要在 macOS 上进行.NET Core应用的开发,只需要安装.NET Core SDK 和相应的 IDE 即可。.NET Core SDK 可以直接从微软官方站点下载,安装之后我们将拥有.NET Core针对 macOS的运行时和相应工具,其中包含前面频繁使用的命令行工具 dotnet。另外,虽然老版本的 macOS(如 10.12 Sierra)可以安装.NET Core 3.0 SDK,但是只有 10.13 High Sierra或者更高版本的macOS才能编译和运行.NET Core 3.0应用程序。

对于macOS的.NET Core应用的开发人员来说,他们在IDE上同样具有广泛的选择。首先,Visual Studio目前已经推出了 Mac版本,虽然与 Windows版本在功能和稳定性上还有一定的差距,但是对于习惯使用Visual Studio的macOS用户来说是最好的选择。除此之外,也可以选择免费的Visual Studio Code,如果不喜欢这种风格的IDE,还可以选择JetBrains公司的Rider。

1.2.2 利用命令行创建.NET Core应用

对于Windows和macOS用户来说,针对他们的开发体验基本上是一致的,因为.NET Core SDK 提供的命令行(主要是 dotnet 命令行工具)在各个平台具有一致的定义,在 IDE(Visual Studio和Visual Studio Code)层面也具有相同的选择。下面先介绍用于创建初始.NET Core项目的脚手架命令行在macOS上的应用,为此可以按照图1-14所示的方式执行“dotnet new console”命令在当前目录下创建一个控制台应用程序。

图1-14 执行“dotnet new console”命令创建控制台程序

图1-14右图是执行脚手架命令行创建的控制台应用的项目结构,可以看出它与在Windows上执行相同命令创建的应用具有相同的文件结构。不仅如此,生成的文件内容也完全一致,如下所示的代码片段是项目文件helloworld.csproj和程序文件Program.cs的内容。

helloworld.csproj:

Program.cs:

在无须对原文件做任何改动的情况下,可以直接执行“dotnet”命令行来启动该控制台程序。如图 1-15 所示,在将当前目录切换到控制台应用所在项目根目录之后,可以直接执行“dotnet run”命令启动创建的程序,随后可以看到作为程序入口的 Main 方法输出到控制台上的“Hello World!”文本。

图1-15 执行“dotnet run”命令执行控制台应用

1.2.3 ASP.NET Core MVC应用

1.2.2节演示了将一个脚手架命令行创建的控制台应用改造成ASP.NET Core MVC应用的步骤,由于.NET Core提供真正的跨平台支持,所以按照相同方式改造的ASP.NET Core MVC应用同样可以在 macOS 上运行。验证过程如下:首先直接编辑项目文件 helloworld.csproj,将 SDK 改成“Microsoft.NET.Sdk.Web”,并移除表示输出类型的属性节点(<OutputType>Exe</OutputType>)。

我们选择相应的 IDE或者纯文本编辑器对程序文件 Program.cs进行如下所示的修改,那么应用就变成一个简单的 ASP.NET Core MVC应用。经过前面的介绍,读者可以理解每行代码的含义,所以此处不再赘述。

至此,所有的编程工作都已经结束,只需要按照我们熟悉的方式执行“dotnet run”命令就可以启动这个程序。程序启动之后利用浏览器访问“http://localhost:5000/hello/foobar”可以得到图1-16所示的输出结果。

图1-16 启动并访问ASP.NET Core MVC应用