Assembly assembly = Assembly.LoadFrom(FilePath);
foreach (Type t in assembly.GetTypes())
{
ListBox1.Items.Add(t.ToString());
}这是我得程序,当加载一些组件的时候(都是.net下编译的组件),有时候会出现异常,异常常出现在foreach (Type t in assembly.GetTypes()这条语句中
foreach (Type t in assembly.GetTypes())
{
ListBox1.Items.Add(t.ToString());
}这是我得程序,当加载一些组件的时候(都是.net下编译的组件),有时候会出现异常,异常常出现在foreach (Type t in assembly.GetTypes()这条语句中
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参阅此消息的结尾。************** 异常文本 **************
System.Reflection.ReflectionTypeLoadException: 程序集中的一个或多个类型无法加载。
at System.Reflection.Module.GetTypesInternal(StackCrawlMark& stackMark)
at System.Reflection.Module.GetTypes()
at MetaDataDisplayer.frmDisplayer.btnDisplay_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
MetaDataDisplayer
程序集版本: 1.0.2070.26947
Win32 版本: 1.0.2070.26947
基本代码: file:///C:/Documents%20and%20Settings/Administrator/桌面/MetaDataDisplayer.exe
----------------------------------------
System.Windows.Forms
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System.Xml
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
RuleBasedControlLogic
程序集版本: 1.0.2036.16705
Win32 版本: 1.0.2036.16705
基本代码: file:///D:/Project/UploadCom/944179963/RuleBasedControlLogic.dll
----------------------------------------
mscorlib.resources
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/assembly/gac/mscorlib.resources/1.0.5000.0_zh-chs_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
程序集版本: 1.0.5000.0
Win32 版本: 1.1.4322.573
基本代码: file:///c:/windows/assembly/gac/system.windows.forms.resources/1.0.5000.0_zh-chs_b77a5c561934e089/system.windows.forms.resources.dll
----------------------------------------************** JIT 调试 **************
计算机的配置文件(machine.config)的
system.windows.forms 节中必须设置 jitDebugging 值。
编译应用程序时还必须启用\r\n调试。\r\n\r\n例如: \r\n\r\n<configuration>\r\n <system.windows.forms jitDebugging="true" />\r\n</configuration>\r\n\r\n启用 JIT 调试后,任何未处理的异常\r\n都将被发送到此计算机上注册的 JIT 调试器,\r\n而不是由此对话框处理。\r\n
Assembly assembly = Assembly.LoadFrom(ControlFlowComFilePath);
AssemblyName assemName = assembly.GetName();string InsertControlFlowCompInfoCmd = @"INSERT INTO ControlFlowCompInfo(ID , CodeBase ,CultureLCID ,Name,Major,Minor,Build,Revision,Note,Description,KnowledgeInfo) "+" VALUES('" + _id+ "','" + _id.ToString() + @"/" + _ControlFlowComName+ "','" + assemName.CultureInfo.LCID.ToString() + "','" + assemName.Name+ "','" +assemName.Version.Major.ToString()+ "','" + assemName.Version.Minor.ToString()+ "','" + assemName.Version.Build.ToString()+ "','" + assemName.Version.Revision.ToString()+ "','" + ControlFlowComNote.Text.Trim()+ "','" + ControlFlowComInfo.Text.Trim()+ "','" + DependKnowledgeFormat.Text.Trim()+"')";在转向一个网页,通过
Assembly assembly = Assembly.LoadFrom(FilePath);
foreach (Type t in assembly.GetTypes())
{
ListBox1.Items.Add(t.ToString());
}
语句反射其中包含的类,然后让用户选择一个类型,就在这里出现了错误foreach (Type t in assembly.GetTypes()),出现了“程序集中的一个或多个类型无法加载。”的异常。同样的文件,这个异常有时候出现有时候不出现,请问是怎么回事,而且我同原文件(客户端保存的上传组件)进行了比较,没有丝毫差别。