我写了一个相当简单的应用程序,它是一个MDI窗体。我为将要加载的不同表单动态地生成菜单项。在点击菜单项时,我调用一个名为ShowForm的方法,将表单名称作为字符串传入。然后我尝试使用以下代码来打开形式:无法从程序集加载类型'XYZ'
Dim strFullname As String = Application.ProductName & ".frm" & strFormName
Dim typForm As Type = Type.GetType(strFullname, True, True)
Dim CSFEMDIChild As Form = CType(Activator.CreateInstance(typForm), Form)
我得到以下错误执行第二行:
未能从程序集“MyAssemblyName加载类型“MyAssemblyName.frmInquiryEntry”,版= 1.0.0.0,Culture = neutral,PublicKeyToken = null'
我已阅读与此错误有关的其他问题,但其中大多数都引用了自定义程序集。我已经看过GAC,但我没有看到任何与此应用程序相关的程序集。我已清除bin/x86/debug,以便重新创建所有这些项目。在这个项目中,我甚至没有任何引用超出默认值。有任何想法吗?
'frmInquiryEntry'是你自己创建的一个表单,在同一个项目中? –
是的,这是正确的。 –
“GetType”重载的TypeName需要一个“Assembly Qualified Name”,它具有特殊的格式。请参阅此文档(https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname%28v=vs.95%29.aspx?f=255&MSPPError=-2147217396),了解如何构建一个。 –