以下是我得到的错误列表.
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
有人能告诉我我做错了吗?
解决方法
http://support.microsoft.com/kb/967050
原因
The Form Designer requires a compiled assembly in order to display an inherited form. If the base form class is contained within an assembly that was compiled using the x64 or Itanium options,they cannot be opened by the Form Designer. This is because Visual Studio is a 32-bit process,and cannot execute code in a 64-bit (x64 or Itanium) module.
解析度
Make sure the base form(s) are defined in an assembly that is compiled using the “Anycpu” build option. This allows form classes defined within the assembly to be used in either a 32-bit process (such as Visual Studio),or in a 64-bit custom process.