首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Assembly.GetTypes()

Assembly.GetTypes()
EN

Stack Overflow用户
提问于 2011-11-30 19:25:25
回答 3查看 2.2K关注 0票数 0

我的代码中有这样的代码:

代码语言:javascript
复制
Assembly assembly = Assembly.LoadFile(dllFile);
//dllFile has the correct value of a path of a .dll file
foreach (Type type in assembly.GetTypes()) {...}

当我调试我的程序时,一切工作正常。当我为我的程序创建exe时,代码转到assembly.GetTypes()并停止执行。是什么原因使assembly.GetTypes()在调试时与使用exe时的工作方式不同?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-30 20:39:32

看看这个链接:

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/3bdaf65c-520c-4a1a-a825-fc2ca2957bf3/

您永远不应该使用Assembly.LoadFile()。如果您知道程序集所在的位置,请使用LoadFrom()让.NET确定程序集所在的位置。使用Load()应该是您的首选,但可能需要.config文件来帮助.NET查找程序集

归功于@HansPassant

票数 3
EN

Stack Overflow用户

发布于 2011-11-30 19:40:59

创建exe文件时,必须确保程序集位于正确的文件夹中,并且exe文件有权访问该文件夹。

票数 1
EN

Stack Overflow用户

发布于 2013-01-05 07:11:11

您可以订阅该事件并从您已知的位置执行一个简单的Assembly.LoadFrom,甚至可以根据您设计的某个系统进行一些奇特的加载。AppDomain中还有TypeResolveResourceResolve事件,允许您处理解析AppDomain的各种依赖项的这些方面。有关详细信息,请参阅此Microsoft forum thread

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8325148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档