00:00

文章目录

加载目录中...

创建并运行C#项目

安装.NET SDK

它包含了编译器、运行时、库和命令行工具(如 dotnet)。

 推荐:前往 .NET 官网 下载并安装最新版 .NET SDK。

验证安装是否成功:

dotnet --version

进入想要创建项目的文件夹,打开终端

输入以下命令创建项目

# 创建一个控制台应用程序项目(最常用)
dotnet new console -n xxx # xxx为你项目的名称

进入项目文件夹并使用vdcode打开项目

cd xxx
code .

 项目结构示例(dotnet new console 生成)

MyCSharpApp/
├── MyCSharpApp.csproj   ← 项目文件(关键!)
├── Program.cs           ← 主程序文件
└── obj/                 ← 自动生成

你可以在 Program.cs 中编写代码,也可以右键项目文件夹 → “新建文件” 添加新的 .cs 文件(如 Rectangle.cs),它们都会被自动包含在项目中。


运行你的 C# 程序

在 VS Code 中:

  • F5 启动调试(需已生成 launch.json

  • 或在终端运行:

    dotnet run
    

当你在终端中运行 dotnet run 命令时,.NET SDK 会执行一系列步骤来编译并运行你的 .NET 应用程序。以下是完整的程序运行流程(以 .NET 6 及以上版本为例):


1. 解析命令行参数

  • dotnet run 会读取当前目录下的项目文件(.csproj),如果没有指定项目,则默认使用当前目录中唯一的 .csproj 文件。
  • 如果有多个项目,你需要通过 -p--project 参数指定要运行的项目。
  • 其他参数如 --configuration(如 Debug/Release)、--framework--launch-profile 等也会被解析。

2. 还原依赖(Restore)

  • 如果项目尚未还原(即没有 obj/project.assets.json 文件),dotnet run 会自动调用 dotnet restore
  • 这一步会从 NuGet 源下载项目所需的包,并生成依赖图。

 注意:如果已经还原过且项目未更改,这一步会被跳过以提高效率。


3. 编译项目(Build)

  • dotnet run 会调用 dotnet build 来编译项目。
  • 编译过程包括:
    • C# 源代码 → 中间语言(IL)→ 生成程序集(.dll 文件)
    • 输出通常位于 bin/Debug/netX.X/bin/Release/netX.X/ 目录下(取决于配置)
  • 编译器还会处理:
    • 源生成器(Source Generators)
    • 分析器(Analyzers)
    • 编译前/后事件(如果有)

4. 启动应用程序

  • 编译成功后,dotnet run 会启动 .NET 运行时(通常是 dotnet exec)来执行生成的程序集(.dll)。

  • 实际执行命令类似于:

    dotnet exec bin/Debug/net8.0/MyApp.dll [args...]
    
  • 如果是可执行项目(如控制台应用、ASP.NET Core 应用),入口点是 Main 方法。

  • 如果是库项目(Class Library),则无法直接运行(会报错)。


5. 传递参数

dotnet run -- --name Alice --port 5000

这些参数会被传给你的

Main(string[] args)

补充说明

  • 开发便利性dotnet run 是为开发阶段设计的,它自动处理还原和构建,适合快速迭代。
  • 生产环境:不应使用 dotnet run 部署应用。应使用 dotnet publish 生成发布版本,然后运行 dotnet MyApp.dll
  • 性能:由于每次都会检查是否需要重新编译,dotnet run 比直接运行 .dll 稍慢。

示例流程(简化版)

$ dotnet run
# → 自动 restore(如需)
# → 自动 build(如需)
# → 执行 bin/Debug/net8.0/MyApp.dll
# → 输出程序结果

如果你使用的是 顶层语句(Top-level statements)(.NET 6+ 默认模板),那么入口点就是 Program.cs 中的顶层代码,无需显式定义 Main 方法。

返回文章列表

评论区 0