C# 开发全解析:从程序运行到语法运用
1. C# 程序的运行与程序集处理
当 C# 可执行文件启动时,公共语言运行时(CLR)会加载程序集并开始执行入口点方法。在此之前,CLR 必须对入口点方法进行即时(JIT)编译。在这个阶段,CLR 可能需要解析一些外部引用才能进行 JIT 编译。例如,如果 Main 方法创建了一个名为 Employee 的类的实例,CLR 必须找到并加载包含 Employee 类型的程序集,JIT 编译器才能继续工作。
CLR 的一个重要特性是按需加载程序集。如果有一个提供打印文档方法的类型,它位于与主应用程序不同的程序集中,而应用程序从未使用该依赖项,那么这个单独的程序集就不会被加载。这可以避免应用程序的工作集不必要地增大。因此,在设计应用程序时,将不常用的功能分离到单独的程序集中是很有意义的,这样 CLR 只在需要时加载它们。减少应用程序的工作集可以加快启动时间,并缩小运行中应用程序的内存占用。关键在于将代码划分为内聚的单元,即程序集。如果在公共代码路径中执行的代码分散在各个程序集中,创建多程序集应用程序就没有意义,因为会失去多程序集的优势。
2. 程序集的命名
程序集主要有两种命名方式:
- 强命名(完全命名) :程序集的名称由四部分组成:短程序集名称、版本号、ISO 格式的区域标识符和哈希令牌。如果一个程序集使用这四部分命名,则被认为是强命名的。
- 部分命名 :这种程序集的名称缺少强命名程序集中的一些细节。
要了解程序
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



