使用VS Code开发.NET 8 环境搭建

1. sdk环境确认

bash 复制代码
-- 查看.net 版本
PS C:\Users\a> dotnet --version
8.0.303
-- 查看已安装的.net sdk 列表
PS C:\Users\a> dotnet --list-sdks
3.0.100 [C:\Program Files\dotnet\sdk]
5.0.301 [C:\Program Files\dotnet\sdk]
6.0.417 [C:\Program Files\dotnet\sdk]
8.0.303 [C:\Program Files\dotnet\sdk]
PS C:\Users\a> 

2. 安装VsCode插件

2.1 C#(必装)

2.2 安装 C# Dev Kit for Visual Studio Code

C# Dev Kit 提高开发者在使用 VS Code 过程中,开发 C# 语言产品的效率。该套件兼容 C# 扩展,由完全开源语言服务器协议 (LSP) 主机提供支持,从而创建一个高性能、可扩展且灵活的工具环境,可轻松将新体验集成到 C# for VS Code 中

C# Dev Kit 共由三部分组成:

bash 复制代码
C# 扩展:提供基本的语言服务支持,后续独立于项目提供维护;
C# Dev Kit 扩展:基于 Visual Studio 创建,提供解决方案管理、模板、测试、调试;
IntelliCode for C# Dev Kit 扩展(可选):在编辑器中引入 AI 相关的开发体验。

2.3 C# Extensions(必装) :增加一些快速创建类、接口、枚举等菜单

2.4 IntelliCode

2.5 IntelliCode for C# Dev Kit

3.创建mvc项目并运行

bash 复制代码
-- 查看帮助
dotnet -h
bash 复制代码
-- 打开工作目录
code D:\vscode-workspace
-- 创建项目文件夹
mkdir MyWeb
-- 切换到项目文件夹
cd MyWeb
-- 创建解决方案
dotnet new sln --name MyWeb
-- 列出要使用 dotnet new 运行的可用模板
dotnet new list

板名                                   短名称                      语言        标记
---------------------------------------  --------------------------  ----------  -------------------------------------------------------
.NET Aspire Starter 应用程序             aspire-starter              [C#]        Common/.NET Aspire/Blazor/Web/Web API/API/Service/Cloud
.NET Aspire 应用主机                     aspire-apphost              [C#]        Common/.NET Aspire/Cloud
.NET Aspire 应用程序                     aspire                      [C#]        Common/.NET Aspire/Cloud/Web/Web API/API/Service
.NET Aspire 服务默认值                   aspire-servicedefaults      [C#]        Common/.NET Aspire/Cloud/Web/Web API/API/Service
.NET Aspire 测试项目(xUnit)              aspire-xunit                [C#]        Common/.NET Aspire/Cloud/Web/Web API/API/Service/Test
API 控制器                               apicontroller               [C#]        Web/ASP.NET
ASP.NET Core gRPC 服务                   grpc                        [C#]        Web/gRPC/API/Service
ASP.NET Core Web API                     webapi                      [C#],F#     Web/WebAPI/Web API/API/Service
ASP.NET Core Web API (native AOT)        webapiaot                   [C#]        Web/Web API/API/Service
ASP.NET Core Web 应用                    webapp,razor                [C#]        Web/MVC/Razor Pages
ASP.NET Core Web 应用(模型-视图-控制器)  mvc                         [C#],F#     Web/MVC
ASP.NET Core with Angular                angular                     [C#]        Web/MVC/SPA
ASP.NET Core with React.js               react                       [C#]        Web/MVC/SPA
ASP.NET Core with React.js and Redux     reactredux                  [C#]        Web/MVC/SPA
ASP.NET Core 空                          web                         [C#],F#     Web/Empty
Blazor Server App                        blazorserver                [C#]        Web/Blazor
Blazor Web 应用                          blazor                      [C#]        Web/Blazor/WebAssembly
Blazor WebAssembly 应用                  blazorwasm                  [C#]        Web/Blazor/WebAssembly/PWA
dotnet gitignore 文件                    gitignore,.gitignore                    Config
Dotnet 本地工具清单文件                  tool-manifest                           Config
EditorConfig 文件                        editorconfig,.editorconfig              Config
global.json file                         globaljson,global.json                  Config
MSBuild Directory.Build.props 文件       buildprops                              MSBuild/props
MSBuild Directory.Build.targets 文件     buildtargets                            MSBuild/props
MSTest Playwright Test Project           mstest-playwright           [C#]        Test/MSTest/Playwright
MSTest Test Project                      mstest                      [C#],F#,VB  Test/MSTest
MVC ViewImports                          viewimports                 [C#]        Web/ASP.NET
MVC ViewStart                            viewstart                   [C#]        Web/ASP.NET
MVC 控制器                               mvccontroller               [C#]        Web/ASP.NET
NuGet 配置                               nugetconfig,nuget.config                Config
NUnit 3 Test Item                        nunit-test                  [C#],F#,VB  Test/NUnit
NUnit 3 Test Project                     nunit                       [C#],F#,VB  Test/NUnit
NUnit Playwright Test Project            nunit-playwright            [C#]        Test/NUnit/Playwright
Razor 类库                               razorclasslib               [C#]        Web/Razor/Library/Razor Class Library
Razor 组件                               razorcomponent              [C#]        Web/ASP.NET
Razor 视图                               view                        [C#]        Web/ASP.NET
Razor 页面                               page                        [C#]        Web/ASP.NET
Web 配置                                 webconfig                               Config
Windows 窗体应用                         winforms                    [C#],VB     Common/WinForms
Windows 窗体控件库                       winformscontrollib          [C#],VB     Common/WinForms
Windows 窗体类库                         winformslib                 [C#],VB     Common/WinForms
WPF 应用程序                             wpf                         [C#],VB     Common/WPF
WPF 用户控件库                           wpfusercontrollib           [C#],VB     Common/WPF
WPF 类库                                 wpflib                      [C#],VB     Common/WPF
WPF 自定义控件库                         wpfcustomcontrollib         [C#],VB     Common/WPF
xUnit Test Project                       xunit                       [C#],F#,VB  Test/xUnit
协议缓冲区文件                           proto                                   Web/gRPC
控制台应用                               console                     [C#],F#,VB  Common/Console
类库                                     classlib                    [C#],F#,VB  Common/Library
解决方案文件                             sln,solution                            Solution
辅助角色服务                             worker                      [C#],F#     Common/Worker/Web
bash 复制代码
-- 创建一个 ASP.NET Core Web 应用(模型-视图-控制器)  项目
dotnet new mvc -o MyMvcWeb --no-https
-- 将Mvc Web项目添加到解决方案sln中
dotnet sln add ./MyMvcWeb/MyMvcWeb.csproj
-- 编译和运行,也可以直接F5运行
dotnet run --project ./MyMvcWeb/MyMvcWeb.csproj

4.创建其它项目并加入sln参照

bash 复制代码
-- 列出要使用 dotnet new 运行的可用模板
dotnet new list

-- 创建Razor类库项目 razorclasslib
dotnet new razorclasslib -o MyRazorLib   
-- 将Razor类库 加入 sln
dotnet sln add ./MyRazorLib/MyRazorLib.csproj        

-- 创建类库 classlib 
dotnet new classlib -o MyClassLib   
-- 将Class类库 加入 sln
dotnet sln add ./MyClassLib/MyClassLib.csproj                

5.编译项目

bash 复制代码
dotnet build

⬇️控制台参照⬇️
PS D:\vscode-workspace\MyWeb> dotnet build
  Determining projects to restore...
  MyMvcWeb -> D:\vscode-workspace\MyWeb\MyMvcWeb\bin\Debug\net8.0\MyMvcWeb.dll
  MyClassLib -> D:\vscode-workspace\MyWeb\MyClassLib\bin\Debug\net8.0\MyClassLib.dll
  MyRazorLib -> D:\vscode-workspace\MyWeb\MyRazorLib\bin\Debug\net8.0\MyRazorLib.dll

已成功生成。
  0 个错误

已用时间 00:00:06.17
PS D:\vscode-workspace\MyWeb> 

6.发布项目

bash 复制代码
dotnet publish 
⬇️控制台参照⬇️
PS D:\vscode-workspace\MyWeb> dotnet publish
  Determining projects to restore...
  MyClassLib -> D:\vscode-workspace\MyWeb\MyClassLib\bin\Release\net8.0\MyClassLib.dll
  MyClassLib -> D:\vscode-workspace\MyWeb\MyClassLib\bin\Release\net8.0\publish\
  MyRazorLib -> D:\vscode-workspace\MyWeb\MyRazorLib\bin\Release\net8.0\MyRazorLib.dll
  MyRazorLib -> D:\vscode-workspace\MyWeb\MyRazorLib\bin\Release\net8.0\publish\
  MyMvcWeb -> D:\vscode-workspace\MyWeb\MyMvcWeb\bin\Release\net8.0\MyMvcWeb.dll
  MyMvcWeb -> D:\vscode-workspace\MyWeb\MyMvcWeb\bin\Release\net8.0\publish\
PS D:\vscode-workspace\MyWeb> 

7. 项目引用 和 包引用

注意 要切到 项目目录

bash 复制代码
## 列出当前项目的引用名称、包名称
dotnet list reference
dotnet list package
## 移除当前项目的引用名称、包名称
dotnet remove reference
dotnet remove package
## 向当前项目添加引用、包
dotnet add reference
dotnet add package

99.附录

99.1 控制台命令参考

bash 复制代码
PS D:\vscode-workspace> mkdir MyWeb


    目录: D:\vscode-workspace


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/8/22     10:35                MyWeb


PS D:\vscode-workspace> cd MyWeb
PS D:\vscode-workspace\MyWeb> dotnet new sln --name MyWeb
已成功创建模板"解决方案文件"。

PS D:\vscode-workspace\MyWeb> dotnet new mvc -o MyMvcWeb --no-https
已成功创建模板"ASP.NET Core Web 应用(模型-视图-控制器)"。
此模板包含除 Microsoft 以外其他方的技术,请参阅 https://aka.ms/aspnetcore/8.0-third-party-notices 以获取详细信息。

正在处理创建后操作...
正在还原 D:\vscode-workspace\MyWeb\MyMvcWeb\MyMvcWeb.csproj:
  Determining projects to restore...
  已还原 D:\vscode-workspace\MyWeb\MyMvcWeb\MyMvcWeb.csproj (用时 54 毫秒)。
已成功还原。


PS D:\vscode-workspace\MyWeb> dotnet sln add ./MyMvcWeb/MyMvcWeb.csproj
已将项目"MyMvcWeb\MyMvcWeb.csproj"添加到解决方案中。
PS D:\vscode-workspace\MyWeb> dotnet run --project ./MyMvcWeb/MyMvcWeb.csproj
正在生成...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5248
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: D:\vscode-workspace\MyWeb\MyMvcWeb
相关推荐
脚步的影子18 小时前
.NET 6.0 + WPF 使用 Prism 框架实现导航
.net·wpf
wo63704311 天前
[Visual Stuidio 2022使用技巧]2.配置及常用快捷键
c#·.net·wpf
界面开发小八哥1 天前
DevExpress WPF中文教程:如何解决排序、过滤遇到的常见问题?(二)
.net·wpf·界面控件·devexpress·ui开发
平凡而伟大(心之所向)1 天前
关于.net Framework向.net core的移植
java·.net·.netcore
△曉風殘月〆1 天前
.Net Gacutil工具(全局程序集缓存工具)使用教程
c#·.net·gac·gacutil
时光追逐者1 天前
C#/.NET/.NET Core技术前沿周刊 | 第 5 期(2024年9.9-9.15)
microsoft·c#·.net·.netcore
lzhdim2 天前
2、.Net 前端框架:ASP.Net Core - .Net宣传系列文章
后端·前端框架·asp.net·.net
道亦无名3 天前
如何在.NET中实现跨平台开发?
.net
tealcwu4 天前
【Unity基础】如何选择Mono的.Net API版本
unity·游戏引擎·.net