Skip to content

编译 API 完整参考

深入理解 Roslyn 编译 API 的创建、配置和使用

📋 文档信息

属性
难度高级
阅读时间60 分钟
前置知识C# 基础、Roslyn 基础
相关文档语义模型 API

🎯 学习目标

完成本系列文档后,你将能够:

  • ✅ 创建和配置 CSharpCompilation
  • ✅ 管理元数据引用
  • ✅ 加载和解析程序集
  • ✅ 跨程序集查找符号
  • ✅ 配置编译选项
  • ✅ 应用高级编译技术

📚 文档列表

本系列文档分为以下几个部分:

文档说明难度
编译创建和配置CSharpCompilation.Create、添加语法树、配置选项中级
元数据引用管理MetadataReference、引用类型、引用管理中级
程序集加载和解析加载程序集、解析元数据、处理依赖高级
跨程序集符号查找查找外部符号、解析类型引用高级
编译选项和优化CSharpCompilationOptions、优化级别、输出类型中级
高级编译技术增量编译、并行编译、诊断过滤高级
最佳实践最佳实践和常见问题中级

🚀 快速开始

创建简单的编译

csharp
using Microsoft.CodeAnalysis.CSharp;

// 创建最简单的编译
var compilation = CSharpCompilation.Create("MyAssembly");

// 添加语法树
var syntaxTree = CSharpSyntaxTree.ParseText("class MyClass { }");
compilation = compilation.AddSyntaxTrees(syntaxTree);

// 添加引用
var mscorlib = MetadataReference.CreateFromFile(typeof(object).Assembly.Location);
compilation = compilation.AddReferences(mscorlib);

📊 编译 API 概览

核心类型

类型说明
CSharpCompilationC# 编译的核心类
MetadataReference元数据引用基类
PortableExecutableReferencePE 文件引用
CompilationReference编译引用
CSharpCompilationOptions编译选项

编译流程


🔗 相关资源


🚀 下一步


最后更新: 2026-02-05

注意: 本文档系列正在从原始的 3174 行文档中迁移内容。完整内容请参考 原始文档

基于 MIT 许可发布