本文介绍如何在Linux系统上安装Microsoft .NET Core SDK以及使用.Net编写第一个应用程序。以下是详细的步骤。
简介
.NET Core是一个免费的,跨平台的开源框架,由Microsoft开发,用于构建桌面应用程序、移动应用程序、Web应用程序、物联网应用程序和游戏应用程序等。如果您是来自Windows平台的dotnet开发人员,.NET可以帮助您在任何Linux和类Unix操作系统上轻松设置开发环境。
在Linux系统上安装Microsoft .NET Core SDK的方法
.NET支持GNU/Linux、Mac OS和Windows操作系统,它可以安装在流行的GNU/Linux操作系统上,包括Debian、Fedora、CentOS、Oracle Linux、RHEL、SUSE/openSUSE和Ubuntu,目前最新的.NET版本为2.2,请参考.NET Core 2.2发布下载且支持Linux,附新特性更新一文。
1、在Debian 9上的安装方法
在Debian 9上,可以安装.NET Core SDK。首先,需要注册Microsoft密钥并通过运行以下命令添加.NET存储库:
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/debian/9/prod.list
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
$ sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
$ sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
注册密钥并添加存储库后,使用命令安装.NET SDK:
$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2
2、在Debian 8上的安装方法
添加Microsoft密钥并启用.NET存储库:
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/debian/8/prod.list
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
$ sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
$ sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
安装.NET SDK:
$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2
3、在Fedora 28/27上的安装方法
添加Microsoft密钥并启用.NET存储库(使用命令添加密钥和存储库):
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ wget -q https://packages.microsoft.com/config/fedora/27/prod.repo
$ sudo mv prod.repo /etc/yum.repos.d/microsoft-prod.repo
$ sudo chown root:root /etc/yum.repos.d/microsoft-prod.repo
并使用命令安装.NET SDK:
$ sudo dnf update
$ sudo dnf install dotnet-sdk-2.2
4、在CentOS/Oracle Linux上的安装方法
添加Microsoft密钥并启用.NET核心存储库:
$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
更新存储库并安装.NET SDK:
$ sudo yum update
$ sudo yum install dotnet-sdk-2.2
5、在openSUSE Leap上的安装方法
使用以下命令添加密钥,启用存储库并安装必要的依赖项:
$ sudo zypper install libicu
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ wget -q https://packages.microsoft.com/config/opensuse/42.2/prod.repo
$ sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
$ sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
使用命令更新存储库并安装.NET SDK:
$ sudo zypper update
$ sudo zypper install dotnet-sdk-2.2
6、在Ubuntu 18.04 LTS上的安装方法
使用命令注册Microsoft密钥和.NET核心存储库:
$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
使用以下命令启用Universe存储库:
$ sudo add-apt-repository universe
然后,使用命令安装.NET Core SDK:
$ sudo apt-get install apt-transport-https
$sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2
7、在Ubuntu 16.04 LTS上的安装方法
使用命令注册Microsoft密钥和.NET存储库:
$ wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
然后,安装.NET核心SDK:
$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2
使用.Net编写第一个应用程序
我们已经在Linux机器中成功安装了.Net Core SDK,是时候使用dotnet创建我们的第一个应用程序了。
我将创建一个名为ostechnixApp的新应用程序,只需运行以下命令:
$ dotnet new console -o ostechnixApp
输出信息如下:
Welcome to .NET Core!
---------------------
Learn more about .NET Core: https://aka.ms/dotnet-docs
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
ASP.NET Core
------------
Successfully installed the ASP.NET Core HTTPS Development Certificate.
To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation.
For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054
Getting ready...
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on ostechnixApp/ostechnixApp.csproj...
Restoring packages for /home/sk/ostechnixApp/ostechnixApp.csproj...
Generating MSBuild file /home/sk/ostechnixApp/obj/ostechnixApp.csproj.nuget.g.props.
Generating MSBuild file /home/sk/ostechnixApp/obj/ostechnixApp.csproj.nuget.g.targets.
Restore completed in 894.27 ms for /home/sk/ostechnixApp/ostechnixApp.csproj.
Restore succeeded.
正如您在上面的输出信息中所看到的,.Net已经创建了一个类型控制台的新应用程序,参数-o创建一个名为ostechnixApp的目录,可以在其中存储包含所有必需文件的应用程序数据。
让我们切换到ostechnixApp目录,查看里面有什么:
$ cd ostechnixApp/
$ ls
obj ostechnixApp.csproj Program.cs
有三个名为ostechnixApp.csproj和Program.cs的文件以及一个名为obj的目录。默认情况下,Program.cs文件将包含在控制台中运行Hello World程序的代码。我们来看看代码:
$ cat Program.cs
using System;
namespace ostechnixApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
要运行新创建的应用程序,只需运行以下命令:
$ dotnet run
Hello World!
现在可以在Program.cs文件中编写代码并运行它,如上面所示。
或者可以使用命令创建新目录,例如mycode:
$ mkdir ~/.mycode
$ cd mycode/
并通过运行以下命令将其作为新的开发环境:
$ dotnet new console
以下为输出信息:
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on /home/sk/mycode/mycode.csproj...
Restoring packages for /home/sk/mycode/mycode.csproj...
Generating MSBuild file /home/sk/mycode/obj/mycode.csproj.nuget.g.props.
Generating MSBuild file /home/sk/mycode/obj/mycode.csproj.nuget.g.targets.
Restore completed in 331.87 ms for /home/sk/mycode/mycode.csproj.
Restore succeeded.
上面的命令将创建两个名为mycode.csproj和Program.cs的文件以及一个名为obj的目录。请在编辑器中打开Program.cs文件,使用自己的代码删除或修改现有的“hello world”代码。
编写代码后,保存并关闭Program.cs文件并使用以下命令运行应用程序:
$ dotnet run
要检查已安装的.NET SDK版本,只需运行:
$ dotnet --version
2.2.101
要获得帮助,请运行:
$ dotnet --help
相关主题