.NET SDK 各操作系统开发环境搭建

一、Win10(推荐)

1、VS 2022 社区版

# 下载地址
https://visualstudio.microsoft.com/zh-hans/downloads/

2、.NET 6 SDK

# 下载地址
https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0

3、Hello World

如果需要使用旧程序样式时,则需要勾选“不使用顶级语句”,

从 .NET 6 开始,新 C# 控制台应用的项目模板在 Program.cs 文件中生成以下代码(顶级语句):

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

使用较新版本时,只需编写 Main 方法的主体。 编译器将 Program 类和 Main 方法合成,并将所有顶级语句放置在该 Main 方法中。 不需要包含其他程序元素,编译器会为你生成这些元素。

二、Ubuntu(补充)

 1、.NET 6 SDK

添加 Microsoft 包存储库

# 下载
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# 安装
sudo dpkg -i packages-microsoft-prod.deb
# 删除
rm packages-microsoft-prod.deb

sudo apt-get install -y dotnet-sdk-6.0dotnet --list-sdks
dotnet --list-runtimes

2、安装 VS Code 

# 下载地址
# https://code.visualstudio.com/#alt-downloads# 下载
wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/code_1.85.1-1702462158_amd64.deb# 安装
sudo dpkg -i code_1.85.1-1702462158_amd64.deb

3、配置 VS Code

文件 -> 首选项 -> 设置 -> 搜索 settings.json,添加以下内容,

{"dotnetAcquisitionExtension.existingDotnetPath": [{"extensionId": "ms-dotnettools.csharp","path": "/usr/share/dotnet"},{"extensionId": "ms-dotnettools.csdevkit","path": "/usr/share/dotnet"}],
}

4、VS Code 插件

C#

C# Dev Kit

vscode-solution-explorer

NuGet Package Manager GUI

C# Extensions

5、创建 .NET 项目

三、Deepin(补充)

1、安装 .NET 8 SDK

https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-scripted-manual#scripted-install

可通过 wget 下载脚本:

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh

运行此脚本之前,请确保授予此脚本作为可执行文件运行的权限:

chmod +x ./dotnet-install.sh

此脚本默认安装最新的长期支持 (LTS) SDK 版本,即 .NET 8。 若要安装最新版本(可能不是 (LTS) 版本),请使用 --version latest 参数。

./dotnet-install.sh --version latest

若要安装 .NET 运行时而非 SDK,请使用 --runtime 参数。

./dotnet-install.sh --version latest --runtime aspnetcore

可以通过 --channel 参数更改特定主要版本来指示特定版本。 以下命令安装 .NET 9.0 SDK。

./dotnet-install.sh --channel 9.0

有关详细信息,请参阅 dotnet-install 脚本参考。

若要在命令行上启用 .NET,请参阅设置系统范围的环境变量。

# 配置环境变量
sudo vim ~/.bashrcexport DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools# 刷新配置
source  ~/.bashrc

(base) sam@sam-PC:~/Desktop$ dotnet --list-sdks
8.0.404 [/home/sam/.dotnet/sdk]
(base) sam@sam-PC:~/Desktop$ dotnet --list-runtimes
Microsoft.AspNetCore.App 8.0.11 [/home/sam/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.11 [/home/sam/.dotnet/shared/Microsoft.NETCore.App]

2、配置 VS Code

文件 -> 首选项 -> 设置 -> 搜索 settings.json,添加以下内容,

{"dotnetAcquisitionExtension.existingDotnetPath": [{"extensionId": "ms-dotnettools.csharp","path": "/home/sam/.dotnet"},{"extensionId": "ms-dotnettools.csdevkit","path": "/home/sam/.dotnet"}],
}

3、创建 .NET 项目 

创建一个解决方案,名字为 app, 

然后右键解决方案,添加项目, 

这里选择创建一个控制台项目, 

可以看到创建控制台项目成功, 

右键菜单 Run 运行项目,

.NET 资料(补充)

.NET 文档: https://aka.ms/dotnet-docs
教程: https://aka.ms/dotnet-tutorials

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/18118.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 下网络套接字(Socket) 与udp和tcp 相关接口

文章目录 1. socket常见API2 sockaddr结构体及其子类1. sockaddr结构体定义(基类)2. 子类 sockaddr_in结构体用于(IPv4)3 子类 sockaddr_un(Unix域套接字)4. 总结画出其结构体 3.实现一个简单的tcp Echo 服务器和客户端(cpp)3.1 客户端3.2 服…

跨平台WPF框架Avalonia教程 七

数据绑定 Avalonia使用数据绑定将数据从应用程序对象传递到UI控件,根据用户输入更改应用程序对象中的数据,并在响应用户命令时对应用程序对象进行操作。 在这种安排中,控件是绑定目标,而对象是数据源。 Avalonia运行数据绑定系统…

日常ctf

1, [陇剑杯 2021]日志分析(问1) %2e 为URL编码的符号 "." flag{www.zip} 2, [陇剑杯 2021]日志分析(问2) 根据之前题目的分析,在获取到源码文件之后,黑客又成功访问了in…

基于微信小程序的校园助手+LW示例参考

1.项目介绍 项目角色:管理员、普通用户功能模块:管理员(用户管理、寻物启事管理、物品分类管理、表白广场、吐槽大会、二手交易、拼车出行等)、普通用户(登录注册、寻物启事、失物招领、表白广场、吐槽大会、拼车出行…

逆向攻防世界CTF系列38-xxxorrr

逆向攻防世界CTF系列38-xxxorrr 64位无壳,很自然的找到main和一个比较函数 以为逻辑很简单了 enc [0x56, 0x4E, 0x57, 0x58, 0x51, 0x51, 0x09, 0x46, 0x17, 0x46,0x54, 0x5A, 0x59, 0x59, 0x1F, 0x48, 0x32, 0x5B, 0x6B, 0x7C,0x75, 0x6E, 0x7E, 0x6E, 0x2F, 0…

数据结构-堆排序笔记

1 思路 总体思路 首先我们会拿到一个无序的数组,我们需要先对其构建成一个堆。下面我们示例将会构建成大顶堆。然后我们对顶堆的元素进行位置之间的交换。交换的同时继续对其维护大顶堆的性质,直至大顶堆只剩下一个元素。 具体思路 首先我们先将一个…

如何在react中使用react-monaco-editor渲染出一个编辑器

一、效果展示 二、基于vite配置 1.首先安装react-monaco-editor和monaco-editor包 npm add react-monaco-editor npm i monaco-editor 2.其次创建一个单独的文件(此处是tsx、直接用app或者jsx也行) import { useState, useEffect } from react impo…

跨平台WPF框架Avalonia教程 六

添加交互性 用户界面的一个基本功能是与用户进行交互。在Avalonia中,您可以通过使用事件和命令来为应用程序添加交互性。本指南将通过简单的示例介绍事件和命令。 处理事件​ Avalonia中的事件提供了一种响应用户交互和控件特定操作的方式。您可以按照以下步骤处…

【传知代码】VRT_ 关于视频修复的模型

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀ VRT_ 关于视频修复的模型 背景介绍:重要性: VRT的重要性和研究背景VRT的背景:VRT的重要性: 视…

药界互联:中药实验管理的网络化

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了中药实验管理系统的开发全过程。通过分析中药实验管理系统管理的不足,创建了一个计算机管理中药实验管理系统的方案。文章介绍了中药实验管理系统的系…

【Linux】进程字段、环境变量与进程地址空间

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 丢掉幻想,准备斗争 目录 一、查看进程字段 1.字段说明 2.进程优先级 二、环境变量 1.概念 2.指令与PATH 3.环境变…

基于isSpring的PPT转换

背景 PPT课件目前还是一项在教学中高度频繁使用的工具,对于在线教学就更为重要了。如何把PPT转换为在线web,同时保留更多的PPT特性(动画、音效、视频)呢?这里介绍一种基于iSpring的PPT转换工具。用以解决在线PPT的这一…

【论文笔记】LoRA: Low-Rank Adaptation of Large Language Models

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: LoRA: Low-Rank Adaptatio…

RHCE的学习(21)

第三章 Shell条件测试 用途 为了能够正确处理Shell程序运行过程中遇到的各种情况,Linux Shell提供了一组测试运算符。 通过这些运算符,Shell程序能够判断某种或者几个条件是否成立。 条件测试在各种流程控制语句,例如判断语句和循环语句中…

智能购物时代:AI在电商平台的革命性应用

在当今数字化时代,人工智能(AI)技术已成为推动电商行业发展的关键力量。AI技术的应用不仅改变了电商的运营模式,还极大地丰富了消费者的购物体验。随着技术的不断进步,AI在电商领域的应用越来越广泛,从个性…

【Linux】环境变量

目录 一、什么是环境变量: 1、系统命令搜索路径(PATH): 2、HOME: 3、SHELL: 4、添加环境变量: 二、通过代码获取环境变量: 三、主函数参数: argc表: envp表&…

28.<Spring博客系统④(使用MD5摘要算法对数据库密码进行加密)>

密码算法简介 1.对称加密算法:加密和解密算法一样 2.非对称加密算法:公钥加密、私钥解密 3.摘要算法:不能解密,不可逆 简单介绍了解一下: 一、对称密码算法 是指加密秘钥和解密秘钥相同的密码算法. 常见的对称密码算法…

如何用GPT-4o解读视频

OpenAI在去年推出的GPT-4V已经支持了多模态识别,但一直仅限于图片输入,不支持视频。相比之下,Google的Gemini早已支持视频识别。最近,我司业务场景中出现了一个需要识别视频的需求,而我们只采购了GPT-4o模型。这就引发…

计算机毕业设计Python美食推荐系统 美团爬虫 美食可视化 机器学习 深度学习 混合神经网络推荐算法 Hadoop Spark 人工智能 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

华为HCIP——MSTP/RSTP与STP的兼容性

一、MSTP/RSTP与STP的兼容性的原理: 1.BPDU版本号识别:运行MSTP/RSTP协议的交换机会根据收到的BPDU(Bridge Protocol Data Unit,桥协议数据单元)版本号信息自动判断与之相连的交换机的运行模式。如果收到的是STP BPDU…