视频加载失败

.NET 开发者必备:全面整理常用 dotnet 命令

1131 字
6 分钟
.NET 开发者必备:全面整理常用 dotnet 命令

作为 .NET 开发者,你是否经常需要查找命令行指令?本文为你整理了开发过程中最常用的 dotnet 命令,涵盖项目创建、构建、测试、部署等多个方面,助你提升开发效率!


重要的操作命令#

一些常用的命名

创建并添加项目到解决方案#

Terminal window
# 创建 Web API 项目
dotnet new webapi -o MyWebApi
# 创建空解决方案
dotnet new sln -o MySolution
# 进入解决方案目录
cd MySolution
# 将 Web API 项目添加到解决方案中
dotnet sln add ../MyWebApi/MyWebApi.csproj

发布为独立部署应用(带运行时)#

Terminal window
# 发布 Web API 项目,配置为 Release,平台为 win-x64,且自带运行时
dotnet publish ../MyWebApi/MyWebApi.csproj -c Release -r win-x64 --self-contained

查看 SDK 和运行时信息#

Terminal window
# 查看所有已安装的 .NET SDK 版本
dotnet --list-sdks
# 查看所有已安装的 .NET 运行时版本
dotnet --list-runtimes

运行命令#

Terminal window
# 指定运行环境为 Development / Production
dotnet run --environment Development
# 指定监听地址(适用于 ASP.NET Core)
dotnet run --urls "http://*:5000;https://localhost:5001"
#localhost:5000 表示仅本机访问。
# 0.0.0.0:5001 表示允许外部机器通过 IP 访问。 Ubantu使用添加
# 运行指定项目的代码(不切换目录)
dotnet run -p ../MyWebApi/MyWebApi.csproj
# 显示详细构建日志输出
dotnet run --verbosity detailed

📁 一、项目与解决方案管理#

✅ 创建新项目#

Terminal window
# 创建控制台应用程序
dotnet new console -o MyConsoleApp
# 创建类库项目(Class Library)
dotnet new classlib -o MyLibrary
# 创建 ASP.NET Core Web API 项目
dotnet new webapi -o MyWebApi
# 创建 Blazor Server 项目
dotnet new blazorserver -o MyBlazorApp

📂 管理解决方案(.sln)#

Terminal window
# 创建一个新的解决方案文件
dotnet new sln -o MySolution
# 将项目添加到解决方案中
dotnet sln add MyProject.csproj
# 从解决方案中移除项目
dotnet sln remove MyProject.csproj
# 查看当前解决方案包含的所有项目
dotnet sln list

⚙️ 二、构建与运行项目#

Terminal window
# 恢复所有 NuGet 包依赖项
dotnet restore
# 构建项目,默认是 Debug 配置
dotnet build
# 构建发布版本(Release)
dotnet build --configuration Release
# 运行项目(自动先构建再运行)
dotnet run

📦 三、发布应用程序#

你可以选择发布为独立部署(Self-contained)框架依赖(Framework-dependent)

Terminal window
# 发布为独立部署应用(包含运行时),适用于目标机器无 .NET 安装的情况
dotnet publish -r win-x64 --self-contained
# 发布为框架依赖应用(需目标机器安装对应 .NET 运行时)
dotnet publish -r win-x64 --framework-dependent

🧪 四、测试与维护#

Terminal window
# 运行项目中的所有单元测试
dotnet test
# 只运行指定名称的测试方法/类
dotnet test --filter MyTest
# 列出当前项目直接引用的 NuGet 包
dotnet list package
# 列出包括传递依赖在内的所有包信息
dotnet list package --include-transitive
# 添加一个 NuGet 包引用
dotnet add package Newtonsoft.Json
# 移除一个 NuGet 包引用
dotnet remove package Newtonsoft.Json
# 添加对本地项目的引用(如类库)
dotnet add reference ../MyLib/MyLib.csproj

🧰 五、SDK 与环境信息#

Terminal window
# 显示当前默认使用的 SDK 和运行时详细信息
dotnet --info
# 列出系统中已安装的所有 .NET SDK 版本
dotnet --list-sdks
# 列出系统中已安装的所有 .NET 运行时版本
dotnet --list-runtimes
# 显示 dotnet CLI 的帮助信息
dotnet help
# 使用指定版本的 SDK 执行某个命令(例如使用 6.0.100)
dotnet --sdk-version 6.0.100 build

📦 六、NuGet 包管理#

Terminal window
# 恢复所有 NuGet 包(等价于 restore)
dotnet restore
# 清除本地 NuGet 缓存(解决缓存导致的问题)
dotnet nuget locals all --clear
# 将项目打包成 .nupkg 文件(用于私有或公共 NuGet 源发布)
dotnet pack
# 将 NuGet 包推送到指定源(如 nuget.org)
dotnet nuget push MyPackage.nupkg --source https://api.nuget.org/v3/index.json

🔧 七、其他实用命令#

Terminal window
# 调用 MSBuild 并执行自定义目标(Target)
dotnet msbuild /t:CustomTarget
# 查看详细的构建日志输出(用于调试构建问题)
dotnet build --verbosity detailed
# 启动 .NET Interactive 工具(支持 C# 即时执行和 Jupyter Notebook)
dotnet interactive
# 查看构建性能摘要(优化构建耗时)
dotnet build --performance-summary
# 使用本地安装的 dotnet tool
dotnet tool run <tool-name>
# 启用源码链接调试(调试 NuGet 包时跳转 GitHub)
dotnet run --sourceLink

🧪 八、调试与性能分析相关命令#

Terminal window
# 启用 AOT 编译(.NET 7+ 功能)
dotnet run --aot
# 收集内存使用情况(用于 PerfView 分析)
dotnet run --collect:Memory
# 启用单文件发布并运行(.NET 6+)
dotnet publish -r win-x64 --self-contained -p:PublishSingleFile=true
dotnet run --no-build --framework net6.0


如果你觉得这篇文章对你有帮助,欢迎点赞、收藏并分享给更多开发者!让我们一起学习,共同进步!

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
.NET 开发者必备:全面整理常用 dotnet 命令
https://blog.huhaha.vip/posts/ee64e7e7/
作者
小王的博客
发布于
2024-10-23
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
dotnet9中的认证鉴权学习
DotNetdotnet9中的认证鉴权学习
2
NET Core 优秀项目和框架精选
DotNet帮助开发者发现功能强大、性能优越、创新前沿、简单易用的C#/.NET/.NET Core优秀项目和框架,无论你是寻找灵感、学习新技术、改进代码质量,还是想拓展自己的技术视野,都能为你提供有价值的参考和指导。关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发效率和质量
3
效率提升利器,一个全龄段友好的DotNET万能工具库
DotNet介绍了Masuit.Tools库,这是一个适用于所有水平开发者的C#/.NET工具库。描述了该库的功能,包括加密解密、反射操作、树结构、文件探测、权重随机筛选算法、分布式短ID生成、表达式树、LINQ扩展、文件压缩、多线程下载、硬件信息获取、字符串扩展方法、日期时间操作、中国农历、大文件拷贝、图像裁剪等功能
4
Visual Studio 修改NuGet 包缓存路径
DotNetVisual Studio 下载的NuGet包默认会缓存到 C:\Users{Windows用户名}.nuget\packages 下,时间一长就会导致 C盘空间严重不足。 那么怎样去设置,让包缓存文件保存到其他盘呢?
5
记录Dotnet6中使用Redis共享Session的实现
DotNet如何在Dotnet 6项目中使用Redis实现Session的共享。在多服务器环境下,由于Session默认存储在内存中导致的会话信息丢失问题。通过安装必要的NuGet包、修改startup.cs或Program.cs文件以配置Redis作为Session存储的步骤,可以有效解决Session共享问题
随机文章随机推荐

评论区

Profile Image of the Author
小王的博客
一个上了年纪的猿人.
分类
标签
最新动态
站点统计
文章
209
分类
15
标签
161
总字数
478,322
运行时长
0
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录