本文介绍在Fedora Linux系统中设置基本的.NET开发环境的方法。内容有:安装.NET SDK、安装NodeJS、安装相关工具(Visual Studio Code、JetBrains Toolbox、Rider、Azure功能和Azurite、azure-functions-core-tools、JetBrains Rider)、为您的.NET应用创建SSL证书。自.NET Core发布以来,.NET开发人员便能够使用C#等语言为GNU/Linux开发应用程序。如果您是希望使用Fedora Linux操作系统作为主工作站的.NET开发人员,那么本文适合您。我将演示如何在Fedora Linux上为.NET设置完整的开发环境,包括IDE/文本编辑器、Azure Functions和用于安全https站点的SSL证书。文本编辑器和IDE有多个选项,但这里我们介绍了Visual Studio Code和Rider。最后一个不是免费的,但是对于熟悉Windows上的Visual Studio的用户来说,这是一个不错的选择。
安装.NET SDK 先前,源列表中需要Microsoft存储库才能通过dnf安装dotnet。但是,现在情况已不再如此。Fedora已将dotnet软件包添加到其存储库中,因此安装非常简单。如果需要,请使用以下两个命令安装最新的dotnet(当前为.NET 5)和先前的dotnet(.NET Core 3.1): sudo dnf install dotnet sudo dnf install dotnet-sdk-3.1 参考:在Linux系统上安装Microsoft .NET Core SDK的方法。
安装NodeJS 如果要开发Azure Functions或使用Azurite来模拟存储,则需要安装NodeJS。最好的方法是首先安装nvm以允许在用户空间中安装NodeJS。这意味着您可以在不使用sudo的情况下安装全局软件包。 要安装nvm,可到https://github.com/nvm-sh/nvm/releases获取新的版本,当前用的是0.38,如下: sudo dnf install curl curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 安装完nvm后,只需运行nvm install lts/*即可安装最新的LTS版本的节点。
安装相关工具 1、Visual Studio Code 安装Visual Studio Code的过程是导入Microsoft密钥,添加存储库并安装相应的程序包: sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf check-update sudo dnf install code 可参考在Fedora 30/29/28系统上安装Visual Studio Code的方法。现在,从Microsoft安装C#扩展。
2、JetBrains Toolbox 如果您常用Windows上的Visual Studio,那么您会觉得此工具更加熟悉。它不是免费的,但是您有30天的时间试用一下,然后在购买许可证之前先看一下是否喜欢它。 要安装JetBrains Toolbox请到https://www.jetbrains.com/toolbox-app/,然后单击“下载”按钮。确保选择了.tar.gz选项。 如果您更喜欢使用UI,请使用桌面环境的文件浏览器(nautilus、dolphin等)转到下载文件的目录,右键单击它并提取其内容。然后进入解压缩的目录,右键单击jetbrains-toolbox文件,然后单击“属性”。确保选中“权限”选项卡下的“允许将文件作为程序执行”复选框,然后关闭“属性”窗口。现在,双击jetbrains-toolbox文件。 如果您在DE中遇到问题时遇到麻烦,或者您更喜欢使用控制台,请打开终端并导航到下载文件的目录。然后提取文件的内容,导航到提取的目录,向AppImage添加执行权限并执行它。我使用的版本号可能与您使用的版本号不同,因此请使用TAB键自动完成,而不要使用复制粘贴来避免错误: tar -xzvf jetbrains-toolbox-1.20.8352.tar.gz cd jetbrains-toolbox-1.20.8352 chmod +x jetbrains-toolbox ./jetbrains-toolbox 一个小的“工具箱”窗口打开之前,需要花费几秒钟或几分钟的时间,具体取决于您的系统和Internet连接。之后,您可以删除下载的文件。您将能够从应用程序菜单中打开JetBrains工具箱,AppImage会将应用程序安装在~/.local/share/JetBrains下。
3、Rider 在JetBrains Toolbox中,搜索Rider应用程序,然后单击“安装”。如果您想更改安装位置和其他选项,请首先检查设置(右上角)。 安装完成后,打开Rider。您将看到的第一个屏幕是选择加入向JetBrains团队发送匿名统计信息。您可以在那里选择自己喜欢的任何东西。第二个是导入您的设置。如果您以前从未使用过Rider,请单击不导入设置,然后单击确定。之后,系统会提示您选择一个主题和键盘映射。选择任何感觉更舒适的东西。在其他屏幕上单击“下一步”,直到到达“许可证”窗口。如果您已经购买了许可证,请填写您的JB帐户或相应的信息。如果要使用试用期,请免费切换到“评估”,然后单击“评估”。对左侧面板上的“插件”部分的dotCover和dotTrace进行相同的操作。然后单击继续。 至此,您现在已经安装了Rider。您可以更改选择的选项,进入初始屏幕上的配置->设置,或在编辑器上转到文件->设置。 4、Azure功能和Azurite 为了能够开发Azure Functions,您需要安装azurite节点程序包。使用azurite程序包,您可以仿真某些类型的Azure函数所需的存储: npm install -g azurite 5、azure-functions-core-tools 若要使用VSCode开发Azure函数,还需要安装azure-functions-core-tools程序包。可到https://github.com/Azure/azure-functions-core-tools查看新的版本,当前是v3。如果要安装v3,请运行npm i -g azure-functions-core-tools@3 –unsafe-perm true,如果要安装v2,请运行npm i -g azure-functions-core-tools@2 –unsafe-perm true。 然后,您只需要安装Microsoft的Azure Functions扩展。安装扩展程序后,可以转到左侧面板上的Azure图标,然后从模板创建新的Azure功能。 6、JetBrains Rider 在Rider上,首先需要安装Azure Toolkit for Rider插件。安装插件后,请重新启动IDE。然后转到“设置”->“工具”->“ Azure”->“功能”。如果要自己手动管理azure-functions-core-tools,请按照Visual Studio Code部分中的说明安装程序包,然后手动指定Azure Functions核心工具路径。否则,如果您希望Rider自动处理更新和程序包,请单击“下载最新版本...”,并确保选中了“在启动时检查Azure Function Core工具的更新”选项。 然后导航到“工具”->“ Azure”->“ Azurite”,然后在“Azurite软件包路径”下拉列表中,选择要安装的Azurite。它看起来应该类似于~/.nvm/versions/node/v14.16.1/lib/node_modules/azurite。 单击“保存”,现在您可以创建Azure函数了。如果单击“新建解决方案”,则应该在菜单上看到“Azure功能”模板。
为您的.NET应用创建SSL证书(请注意修改为自己的参数) 您将无法信任dotnet dev-certs https –trust生成的.NET证书。该命令对Fedora Linux无效。另外,这里就不介绍easy-rsa的详细信息或SSL证书的概念了。 首先,安装easy-rsa工具。然后创建自己的证书颁发机构(CA),将系统设置为信任它,对证书进行签名,然后将.NET设置为使用证书。 首先安装软件包并设置工作目录: sudo dnf install easy-rsa cd ~ mkdir .easyrsa chmod 700 .easyrsa cd .easyrsa cp -r /usr/share/easy-rsa/3/* ./ ./easyrsa init-pki 现在,使用CA详细信息创建一个名为vars的文件。如果您知道自己在做什么,请随时更改这些值: cat << EOF > vars set_var EASYRSA_REQ_COUNTRY "US" set_var EASYRSA_REQ_PROVINCE "Texas" set_var EASYRSA_REQ_CITY "Houston" set_var EASYRSA_REQ_ORG "Development" set_var EASYRSA_REQ_EMAIL "local@localhost.localdomain" set_var EASYRSA_REQ_OU "LocalDevelopment" set_var EASYRSA_ALGO "ec" set_var EASYRSA_DIGEST "sha512" EOF 注:请注意设置成自己的参数。 现在,建立CA并信任它。当您运行第一个命令时,它将提示您输入CA名称,您只需按Enter即可保留默认值: ./easyrsa build-ca nopass sudo cp ./pki/ca.crt /etc/pki/ca-trust/source/anchors/easyrsaca.crt sudo update-ca-trust 接下来,为我们的CA创建请求并签名。执行完最后一条命令后,键入yes,然后按Enter: mkdir req cd req openssl genrsa -out localhost.key openssl req -new -key localhost.key -out localhost.req -subj /C=US/ST=Texas/L=Houston/O=Development/OU=LocalDevelopment/CN=localhost cd .. ./easyrsa import-req ./req/localhost.req localhost ./easyrsa sign-req server localhost 现在,将所有需要的文件放在一个公共目录中并创建pfx证书。在执行最后一条命令后,将提示您输入密码。输入您想要的任何内容。确保记住您的密码并将其保密: cd ~ mkdir .certs cp .easyrsa/pki/issued/localhost.crt .certs/localhost.crt cp .easyrsa/req/localhost.key .certs/localhost.key cd .certs openssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crt 最后,编辑~/.bashrc文件并添加以下环境变量: cat << EOF >> ~/.bashrc # .NET export ASPNETCORE_Kestrel__Certificates__Default__Password="PASSWORD" export ASPNETCORE_Kestrel__Certificates__Default__Path="/home/YOUR_USERNAME/.certs/localhost.pfx" EOF 请记住,将PASSWORD替换为您的实际密码,并将YOUR_USERNAME替换为您的实际用户名。 重新引导系统(还有其他方法可以执行此操作,但是重新引导是最简单的一种方法)。至此,您现在可以在Fedora Linux系统上使用带有https的.NET进行开发了。
相关主题 |