.net - 在 .NET 中,引用的 DLL 是否在运行时按需加载?

标签 .net visual-studio

<分区>

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/

相关文章:

.net - 将 1.1 框架升级到 4.0

c# - 已使用包含 'x' 元素和 Moq 的 IEnumerable 调用验证方法

c# - Entity Framework - 外键组件......不是类型的声明属性

multithreading - 使用MSBuild并行构建的问题

c# - 如何自动验证所有 web.config 转换是否具有相同的元素?

c# - 通过添加新接口(interface)而不是扩展现有接口(interface)来添加功能

c# - 在另一个用户上下文中执行代码

c++ - 整数在 Excel 2010 与 Excel 2003 中的表示(C++ 插件)

css - 在 Visual Studio 2010 中,有没有办法轻松地注释掉 CSS 中的行?

visual-studio - Visual Studio 2012 中全屏的屏幕截图