【发布时间】:2011-11-30 11:25:25
【问题描述】:
我的代码中有这个:
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 时的工作方式不同?
【问题讨论】:
-
那么两种情况下的路径是什么?
-
请显示 dllFile 的确切值,如果你硬编码它,如果你部署应用程序,这将不起作用,因为在调试模式下,在 Release 文件夹中的 Debug 文件夹中的 exe 文件
-
@V4Vendetta 两种情况下的路径都是正确的: C:\Users\John\Documents\Visual Studio 2005\Addins\S_Ajde.dll dll 文件加载正常。错误在 assembly.GetTypes()
-
@Serghei dll 文件的路径是硬编码的,因为 dllFile 不在 bin 或 debug 中。它位于 C:\Users\John\Documents\Visual Studio 2005\Addins\S_Ajde.dll
标签: c# types .net-2.0 .net-assembly