使用.NET Core进行Linux编程3:简介和第2章

ASP.NET CORE 同时被 2 个专栏收录
480 篇文章 6 订阅
64 篇文章 0 订阅

目录

背景

我希望实现的目标

介绍

这本书的封面是什么?

这本书是给谁的?

以应用为中心

这本书不是什么

这本书是什么

GitHub上的所有源代码

DotNet Core

MacOS奖金

第2章——进入.NET Core

Linux终端

测试dotnet可执行性

安装.NET Core SDK

我运行Ubuntu 18.04和Debian 10

Ubuntu 18.04或Debian 10

Linux Sudo(超级用户)

安装Sudo

将用户添加到Sudo文件

退出Root

注销/登录

安装.NET Core SDK

.NET Core运行时

一切都已安装

$ Prompt :Linux终端

Dotnet 是可执行的

我们需要一个代码编辑器

Visual Studio Code不是Visual Studio

安装Visual Studio Code(VSC)

运行Visual Studio Code的安装

Visual Studio Code安装完成

创建一个新项目

设置目录

Linux提示符显示什么

主目录

创建目录(mkdir)

主(Home)目录 (~) 确实有帮助

dotnet new

文件夹中的文件夹

Visual Studio Code

安装插件

带数字的小蓝色圆圈

这个程序是如何运行的?

System.Console库

像盒子一样的库

总结


背景

大约一年前,我建造了一台新的台式计算机,并安装了Win10Ubuntu作为双启动计算机。

我很快迷上了UbuntuLinux。我已经有8个月没有在这台机器上启动Win10了。

Win 3.1以来,我一直在Windows系统上运行和开发,因此这很重要。但是,我真的很喜欢Microsoft的开发环境和工作方式。当我最近发现自己可以编写在WindowsLinux上都可以运行的C#代码时,我感到非常兴奋。在Windows上编写代码,然后将其引入并在Linux上构建和运行它而无需做任何更改,这真是太神奇了。不,您仍然无法在Linux上构建Windows Form应用程序,但是看看其他的。在不需要Windows窗体或图形用户界面的情况下,还可以做很多其他事情。这就是为什么我决定写这本书的原因。我只想看看仅使用Visual Studio Code.NET Core SDK可以做什么。

我希望实现的目标

我只是想写一本可访问(任何人都可以编码)的有趣的书,它使我和我的读者对使用.NET CoreLinux平台上可以做的事情有所了解。我希望它甚至可以追溯到KR C-尽管我的肯定不会像那个伟大的小资源那样清晰和直接。最后,我希望我能提供一些有关Linux上的.NETC#的入门知识,以激发读者从开发中获得乐趣。

介绍

这本书的封面是什么?

本书侧重于使用Visual Studio CodeLinux命令行基于DotNet Core 3.x创建和构建项目和应用程序。

所有程序都将用C#编写。当然,基于Web的项目可能包括TypeScriptJavaScriptCSSHTML等。

这本书是给谁的?

本书非常快速地介绍了使用DotNet Core进行Linux编程。如果您是一个勇敢的初学者,则可以使用该书开始使用C#和DotNet Core 3.x库在Linux(我运行Ubuntu)上学习和编写软件。

我将尽我所能介绍资料,即使您是初学者,也可以按照以下步骤开始学习。但是,我可能会在某些话题上讲得很快,而你可能需要其他资源来在某些主题上获得更深入的了解。

本书的主要读者是具有一定开发经验的人。如果您已经进行了至少三到六个月的编码,并且喜欢编程,那么您会在这里做的很好。如果您有更多的经验,我相信您会发现这是对可以使用DotNet Core 3.x和相关技术在Linux上创建的各种事物的不错的介绍。

以应用为中心

我将提供涉及的所有主题的示例代码,但不仅限于示例代码。我们将通过至少三个完整的实用程序(通常是基于控制台的——文本用户界面TUI),以及一些适当的Web应用程序进行工作。

我不会关注用户界面问题。本书更多是关于代码的,而很少涉及用户界面(UI)。但是,我喜欢创建尽可能易于使用的应用程序,以便在适当和适用的地方,我将讨论如何创建良好的用户体验(UX),尽管图形UI可能并不总是如此。并且,当它是图形UI时,它可能是基于WebUI

这本书不是什么

再次,这本书是关于使用dotnet命令行和Visual Studio Code学习在Linux环境中编程的。它是关于学习编码的,仅略微强调如何创建用户界面。如果您正在寻找创建WinForm应用程序的Linux版本,这并不是。

这本书是什么

但是,如果您有兴趣学习dotnet CoreC#,编写实用程序并了解有关Linux基础的更多信息,那么这里就是您的理想选择。

我真的认为这本书是一个业余爱好者在学习通过Linux运行的DotNet Core编程。它应该很有趣...但是我是一个极客。:)

GitHub上的所有源代码

我将在GitHub存储库(repo)中提供所有代码,并且所有代码都是开源的,可免费用于您自己的项目中。

DotNet Core

dotnet命令行(基于控制台)应用程序非常出色,并且非常易于使用。如果您是Linux用户,则可能还是习惯于使用命令行。本书将重点介绍使用dotnet控制台应用程序来做我们能做的所有事情。这包括创建项目,从源文件编译和构建,添加库以及其他所有内容。

那应该使您对本书的工作方式和学习内容有所了解。现在,让我们开始安装dotnet coreVisual Studio Code并编写我们的第一个控制台应用程序。

MacOS奖金

我也在MacMini上测试了这些程序。您可以安装Visual Studio Code.NET Core SDK.NET Core运行时,并在终端窗口中运行所有内容,即使Mac默认情况下运行zshshell)也是如此。

无论您运行的是Mac还是Linux,本书中遵循的命令都是相同的。仅供参考——安装Visual Studio Code.NET SDK等时可能会有一些差异,但是这些差异足够容易,您可以找出它们。

2章——进入.NET Core

  • Linux终端(命令行)
  • 安装.Net Core 3 SDK和运行时
  • 安装Visual Studio Code
  • 构建并运行我们的第一个控制台(终端)程序

Linux终端

我们要做的第一件事是打开一个终端,检查是否安装了dotnet

如果在Linux机器上找不到终端,并且正在运行Gnome桌面(例如我在Ubuntu上),则可以单击活动菜单(有点像Win10开始按钮),然后键入:terminal

最后,只需单击终端图标,它将为您打开。

测试dotnet可执行性

出现命令提示符后,键入以下内容,然后按<ENTER>

dotnet --version

如果您在尚未安装dotnet sdk的系统上,那么您会得到类似我的截图内容,找不到该命令。

安装.NET Core SDK

让我们安装dotnet

打开您喜欢的Web浏览器(我的FireFox),然后转到:https://dotnet.microsoft.com/download

您会看到类似以下内容:

继续并单击[Install .NET Core]按钮。

这将带您进入一个很长的页面,其中列出了可以在其上安装.NET Core的所有各种Linux发行版(在本书中,我可能会更改对dotnet core的引用方式)。

我运行Ubuntu 18.04Debian 10

我实际上正在将Ubuntu 18.04 Desktop作为主机运行。但是,您可能会注意到我遵循的是Debian安装。那是因为我在一个VirtualBox实例中运行Debian(带有Gnome桌面),所以我可以指导您完成所有新的安装工作。经过测试后,我确定在Ubuntu 18.04Debian 10上安装的命令完全相同,因此它们是可互换的。这是因为Ubuntu基于Debian

Ubuntu 18.04Debian 10

这是开始在Ubuntu 18.04上安装所需的第一步:

复制以下内容,将其粘贴到终端中,然后按<ENTER>,它将开始运行。

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb 
-O packages-microsoft-prod.deb

完成后,复制下一行并将其粘贴到终端窗口中,然后按<ENTER>

sudo dpkg -i packages-microsoft-prod.deb

您可以看到第一个命令已运行,现在终端正在等待我按下<ENTER>以启动第二个命令:

我实际上在运行dpkg命令时忘记添加sudo,然后出现错误。但是,这里是我在sudo下再次运行它时发生的事情。

键入密码后,我看到以下内容:

它提到了sudoers文件,该文件包含一个允许提升为超级用户状态的用户名。

Linux Sudo(超级用户)

这很重要,因为这本书也是关于学习Linux的,而且您一定会遇到这些问题。

让我们看看如何解决此问题。

键入su root并按<ENTER> 

系统将提示您输入root密码。我希望你还记得。:)

我输入的是我的,现在您可以看到我以root用户身份登录,因为在下一个图像中,提示符具有显示已登录用户的root@debian前缀。

我们需要给我的用户帐户,raddevsudo权限。对于您的情况,您需要赋予用户名sudo权限。

安装Sudo

为此,您可能需要像我一样安装sudo

输入以下内容,然后按<ENTER>

apt-get install sudo -y

将用户添加到Sudo文件

现在,您可以将用户添加到sudo文件。

输入以下内容,然后再次按<ENTER>

sudo adduser raddev sudo

退出Root

现在,让我们从root用户退出。为此,请键入:

exit

然后按<ENTER>

您将重新使用您的用户帐户。现在,让我们尝试再次安装dotnet core sdk

注销/登录

我的,没用工作。我再次尝试,发现您需要注销并重新登录(或重新启动),然后您的帐户才能拥有sudo权限,因此请继续注销并重新登录。那对我有用。

登录后,继续并再次打开终端,然后再次运行以下命令:

sudo dpkg -i packages-microsoft-prod.db

我的安装是成功的。

安装.NET Core SDK

.NET Core SDK是具有所有.NET Core功能的一组库,这些功能使您可以在.NET Core中编写程序。这是Microsoft创建的一组库,这些库包装了操作系统调用以创建文件,从用户获取输入,向用户显示输出以及数千种其他内容。SDK代表软件开发套件。

这是用于构建在.NET Core之上运行的自定义程序的工具包。

当您学习如何使用.NET Core SDK编写程序时,您将学习如何在.NET Core中进行编程。

现在,我们使用以下长的多行命令安装主要的dotnet sdk

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

将其复制并粘贴到您的终端中,按<ENTER>,它将开始安装。

完成后,您将看到类似以下的内容:

.NET Core运行时

现在,我们需要安装DotNet Core运行时。.NET Core Runtime是实际将运行您编写的代码的应用程序。您将编写代码来调用.NET Core SDK中的函数,然后将代码构建为可执行文件并在.NET Runtime中运行该代码。

这是我们将在终端窗口中运行的命令:

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

结果如下:

一切都已安装

这就是dotnet Core sdk和运行时所需的一切。让我们检查一下,看看有什么。

$ Prompt Linux终端

现在,我将仅向您显示$提示,然后输入您要输入的命令。

这样,我就不用再说了,输入<ENTER>

它看起来像:

$命令的命令选项

$ ls -al

每当您看到该命令时,请按照显示的命令运行。当然,要在终端中提交任何命令,您必须按<ENTER>

Dotnet 是可执行的

现在已经安装了.NET Core,我们可以运行dotnet命令。

如果我们将--version传递给dotnet命令,它将使我们知道安装了哪个版本。

转到终端并输入:

$ dotnet --version 

注意:请记住,这些命令区分大小写,因此您需要完全按此处显示的方式键入它们。

我们将在许多方面使用dotnet,因此我们将在其中看到更多信息。我们将使用它来创建我们的项目,构建代码,运行我们的应用程序等等。但是,现在,我们需要一个代码编辑器。

我们需要一个代码编辑器

我们正在开发第一个应用程序。但是,我们需要一个使编写代码更容易的编辑器。当然,本书中使用的编辑器是免费提供的Visual Studio Code

Visual Studio Code不是Visual Studio

请记住,Visual Studio Code是轻量级的编辑器(与Visual Studio相比)。

Visual Studio实际上不会在Linux上运行。有Mac版本的Visual Studio,但没有Linux版本。但这很好,因为Visual Studio Code是出色的编辑器,并且非常接近完整的IDE(集成开发环境)。

Visual Studio Code并没有Visual Studio拥有的所有项目模板和所有工具,但是我相信,一旦运行它,您会感到惊讶。

我们最终将学习如何添加调试器插件,使我们可以逐步完成代码。

安装Visual Studio CodeVSC

要了解有关VSC的更多信息,只需将您喜欢的浏览器指向:https://code.visualstudio.com

但是,有一种比从站点下载Debian软件包更好的安装Visual Studio Code的方法。我将引导您完成在Linux上安装Visual Studio Code的最流畅、最佳方法。

是的,这是更多终端安装。运行以下命令:

$ sudo apt update

接下来,运行此命令:

$ sudo apt install software-properties-common apt-transport-https curl

它将确认您要安装软件包。键入y,然后按<回车>

现在,我们使用curl导入获取Microsoft应用程序所需的Microsoft GPG密钥(安全密钥)。

必须将Visual Studio Code存储库添加到我们的系统中,以便可以安装它。

注意:以下命令很长,以至于可以换行到下一行,但是该行中没有回车符。

$ sudo add-apt-repository "deb [arch=amd64] 
https://packages.microsoft.com/repos/vscode stable main"

没有输出,它仅安装存储库并返回到提示。

运行以下命令:

$ sudo apt update

您可以看到新的Microsoft存储库列表已被读入。

运行Visual Studio Code的安装

现在,我们终于可以安装Visual Studio Code

$ sudo apt install code

Visual Studio Code安装完成

Visual Studio Code已正式安装。

让我们开始吧。

单击活动,然后在搜索栏中键入Visual。您将看到Visual Studio Code图标。

单击该图标,Visual Studio Code将启动。

若要学习如何使用Visual Studio CodeVSC),我们需要创建一个项目,以便我们可以开始研究Visual Studio Code的许多功能。

创建一个新项目

让我们切换回终端窗口,并使用dotnet命令行工具创建一个项目。

设置目录

让我们花一点时间讨论如何设置目录以组织开发工作。

在主目录中,创建一个名为dev的目录。

在该目录下,我将拥有以我正在使用的各种技术类型命名的目录,例如webdevdotnetC ++等。

在本例中,我们将从主目录创建一个名为dev的目录,然后在该目录下创建一个dotnet目录。

Linux提示符显示什么

这是我在该目录中时的提示内容:

raddev@raddev-1:~/dev/dotnet$

这意味着用户raddev登录到名称为raddev-1的计算机上。

在冒号(:)之后,您可以看到当前路径,即~/dev/dotnet,最后有提示$。您键入的任何内容都会在$提示后出现。

主目录

请记住,~代表您的主目录。这意味着如果您给出命令:

$ cd ~

然后,您将被移到主目录。

但是,该目录的完整路径是/home/username,其中username是您的用户名。

打印工作目录(pwd

如果您想查看所在目录的完整路径,可以发出以下pwd命令:

$ pwd

 

正如你所看到的,我做了更改目录(cd)到home ~然后我做了一个PWD,现在我在目录/home/raddev中。

现在,您将更好地了解Linux文件系统中的位置。

我在目录下创建了一个dev目录。在dev目录下,我创建了一个dotnet目录。我将使用以下命令从home中移回目录:

$cd dev/dotnet

创建目录(mkdir

您可以复制/粘贴下面的命令并立即运行它,然后您将拥有与我相同的目录结构。

$ mkdir -p ~/dev/dotnet

这将在您的home目录下创建dev目录,并在dev目录下创建dotnet目录。

-p参数创建可能不存在的任何父目录(dev)。

(Home)目录 (~) 确实有帮助

~代表您的主目录/home/username非常酷,因为我不必知道您的用户名即可为您提供良好的mkdir命令。相反,我们只使用~来指