<分区>
Possible Duplicate:
How are DLLs loaded by the CLR?
在 .NET 中,引用的 DLL 是否在运行时按需加载?或者它们都是在开始时加载的。我问是因为在运行我的项目时附加了 Visual Studio,我注意到它正在为开始时引用的每个 DLL 加载符号。
这仅仅是因为我在调试中运行并附加了 VS 吗?
<分区>
Possible Duplicate:
How are DLLs loaded by the CLR?
在 .NET 中,引用的 DLL 是否在运行时按需加载?或者它们都是在开始时加载的。我问是因为在运行我的项目时附加了 Visual Studio,我注意到它正在为开始时引用的每个 DLL 加载符号。
这仅仅是因为我在调试中运行并附加了 VS 吗?
最佳答案
您可以在没有附加 VS 的情况下运行时使用 Procmon(进程监视器)检查自己。我突然想到,当 JIT 编译器第一次遇到类型时,它们是按需加载的。事实上,我使用混合解决方案(托管和非托管程序集),当缺少非托管 dll 时,当首先需要来自该程序集的类型时会出现错误;在 VS 上运行时,我什至得到了调用堆栈。但是我从来没有在VS之外检查过。至于背后的理论,在this question中有很长的解释。 .
关于.net - 在 .NET 中,引用的 DLL 是否在运行时按需加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13059047/
相关文章:
c# - 已使用包含 'x' 元素和 Moq 的 IEnumerable 调用验证方法
c# - Entity Framework - 外键组件......不是类型的声明属性
multithreading - 使用MSBuild并行构建的问题
c# - 如何自动验证所有 web.config 转换是否具有相同的元素?
c# - 通过添加新接口(interface)而不是扩展现有接口(interface)来添加功能
c++ - 整数在 Excel 2010 与 Excel 2003 中的表示(C++ 插件)