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