Skip to content
C#
快速开始

快速开始

C# 是微软主导设计的静态强类型面向对象语言,运行在 .NET 运行时上。本文带你从零搭建环境并理解项目结构。


.NET 版本演进速览

版本 代号 发布时间 关键变化
.NET Framework 4.8 2019 Windows 独占,传统桌面/ASP.NET
.NET Core 3.1 2019 跨平台,LTS
.NET 5 2020 统一 Core 和 Framework 的品牌
.NET 6 2021 LTS,C# 10
.NET 7 2022 STS,C# 11
.NET 8 2023 LTS,C# 12
.NET 9 2024 STS,C# 13

🔬 AutoCAD / Revit 二次开发的关键约束:AutoCAD .NET API 和 Revit API 目前仍基于 .NET Framework 4.8(部分新版本开始支持 .NET 8)。这意味着你写的类库必须以 .NET Framework 4.8 为目标框架,而非较新的 .NET 6/7/8/9。


SDK 安装

  1. 下载 .NET SDK(含运行时 + 编译器 + CLI 工具)
  2. 验证安装:
dotnet --version
dotnet --list-sdks
dotnet --list-runtimes

💡 AutoCAD/Revit 开发还需要安装对应版本的 .NET Framework 4.8 Developer Pack(通过 Visual Studio Installer → 单个组件 → “.NET Framework 4.8 SDK” / " targeting pack")。


项目结构

一个最小的类库项目(AutoCAD/Revit 二次开发的典型形态):

MyAddin/
├── MyAddin.csproj      # 项目文件(MSBuild)
├── MyCommand.cs         # 你的代码
└── Properties/
    └── AssemblyInfo.cs  # 程序集元信息

.csproj 文件示例(.NET Framework 4.8 类库)

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net48</TargetFramework>
    <OutputType>Library</OutputType>
    <LangVersion>8.0</LangVersion>
  </PropertyGroup>
  <ItemGroup>
    <!-- AutoCAD / Revit API 引用在这里添加 -->
    <Reference Include="AcDbMgd" />
    <Reference Include="AcMgd" />
  </ItemGroup>
</Project>

🚨 AutoCAD/Revit 的托管 API DLL 必须使用 <Reference> 引用(非 NuGet 包),因为它们是随宿主程序分发的 COM 封装程序集。


Hello World

using System;

namespace MyAddin
{
    public class MyCommand
    {
        public void Execute()
        {
            Console.WriteLine("Hello, AutoCAD!");
        }
    }
}

关键语法速览

// 顶层语句(C# 9+,仅控制台项目)
Console.WriteLine("Hello");

// 命名空间声明(C# 10+ 文件范围命名空间)
namespace MyApp;

// 字符串插值
var name = "Willow";
Console.WriteLine($"Hello, {name}!");

// 空合并操作符
string? s = null;
Console.WriteLine(s ?? "默认值");

开发工具

工具 适用场景 费用
Visual Studio 2022 Community AutoCAD/Revit 开发首选 免费(个人/小团队)
JetBrains Rider 跨平台偏好 付费
VS Code + C# Dev Kit 轻量编辑 免费

💡 推荐 Visual Studio 2022 Community + .NET desktop development 工作负载。AutoCAD/Revit 二次开发的调试、附加进程等场景,VS 集成度最佳。


编译器与语言版本

C# 版本 .NET 版本 核心新特性
C# 7.0~7.3 .NET Framework 4.7~4.8 模式匹配、元组、ref 局部变量
C# 8.0 .NET Core 3.x Nullable 引用类型、switch 表达式、异步流
C# 9.0 .NET 5 Record、init 访问器、顶层语句
C# 10 .NET 6 文件范围命名空间、global using
C# 11 .NET 7 原始字符串字面量、列表模式
C# 12 .NET 8 主构造函数、集合表达式

🚨 AutoCAD/Revit 二次开发中,目标平台是 .NET Framework 4.8,默认语言版本为 C# 7.3。可以通过 <LangVersion>8.0</LangVersion> 手动提升到 C# 8(Nullable 引用类型等),但部分需要运行时支持的 C# 9+ 特性不可用。


调试

AutoCAD/Revit 插件的调试方式是"附加到进程":

  1. 编译生成 .dll
  2. 启动 AutoCAD / Revit
  3. VS 菜单 → 调试 → 附加到进程 → 选择 acad.exe / Revit.exe
  4. 在代码中设置断点,执行对应命令

💡 也可以配置 .csproj 的启动外部程序,在项目属性 → 调试 → 启动外部程序 中填写 acad.exeRevit.exe 路径,F5 即可一键启动调试。