c# - 我们为什么以及在哪里需要托管模块

标签 c# .net clr .net-assembly

我知道托管模块是包含 PE32 header 、CLR header 、元数据和 IL 代码的逻辑代码容器。程序集可以包含多个使用程序集链接器 (AI.exe) 链接的托管模块。但是 VS 不支持多个托管模块程序集。我想知道如果没有程序集等就不能使用托管模块,我们何时以及为什么需要托管模块。我们不能只使用程序集吗?

我确信有一个合乎逻辑的解释,但我不确定我知道它是什么:-)

关于什么是托管模块的更多信息:What is a Managed Module (compared to an Assembly)?

最佳答案

图表posted at the other question似乎很清楚:

enter image description here

基本上,当您想要将代码组织为程序集中的容器时,您会使用托管模块。从理论上讲,这应该会给你更好的灵 active 。

在实践中,这几乎不会发生,因为大多数人将他们的解决方案组织为项目的集合,每个项目都有自己的关联 DLL。这种安排允许您物理换出 DLL,而无需替换整个(多模块)程序集。

关于c# - 我们为什么以及在哪里需要托管模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126717/

相关文章:

c# - .NET 中的堆栈是否也可能发生内存泄漏?

c# - 我对 C# 接口(interface)成员的默认访问修饰符感到困惑

wcf - MSSQL 2012 为 WCF 创建 CLR 触发器失败

c# - 结合 Interlocked.Increment 和 Interlocked.Exchange

c# - 通用方法 : Cannot convert from Tuple to T

c# - 如何避免从 F# 库返回 Task<Microsoft.FSharp.Core.Unit>

c# - 如何在现有项目中实现 SOLID 原则

c# - Remove() 不适用于多对多关系(ASP.NET、lambda 表达式)

c# - 从非托管代码传递指针

c# - 动态转换c#