我想制作一种模板Class BaseDialog
,但是在创建继承MyDialog1
的最终对话BaseDialog
时,我会收到错误,然后对话框无法在设计模式下显示。
以下是我得到的错误列表。
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
还有: 警告1无法为此文件显示设计器,因为其中的任何类都无法设计。设计者检查了文件中的以下类:
MyDialog1 --- The base class '[mynamespace].BaseDialog' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.
以下是我所制作的课程的示例(与.designer文件,<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
,Dispose
等一起用于这两个课程。
Public Class BaseDialog
Inherits System.Windows.Forms.Form
'
End Class
Public Class MyDialog1
Inherits BaseDialog
'
End Class
有人能告诉我我做错了吗?
答案 0 :(得分:1)
已经解决了。抱歉! http://support.microsoft.com/kb/967050
<强>原因强>
表单设计器需要已编译的程序集才能显示继承的表单。如果基本表单类包含在使用x64或Itanium选项编译的程序集中,则表单设计器无法打开它们。这是因为Visual Studio是一个32位进程,无法在64位(x64或Itanium)模块中执行代码。
解决强>
确保在使用&#34; AnyCPU&#34;编译的程序集中定义基本表单。构建选项。这允许在程序集中定义的表单类在32位进程(例如Visual Studio)或64位自定义进程中使用。