c# – 在Windows窗体设计器中加载窗体时出现“无法找到类型”错误

我有一个.NET 2.0窗体应用程序,它大量使用了ListView控件。

我将ListView类子类化为模板化的SortableListView< T>类,所以它可以有点聪明地关于它如何显示的东西,并排序本身。

不幸的是,这似乎破坏了VS2005和2008中的Visual Studio Forms Designer。

该程序编译并运行正常,但是当我尝试在设计器中查看拥有的表单时,我得到这些错误:

>找不到类型“MyApp.Controls.SortableListView”。请确保引用了包含此类型的程序集。如果此类型是开发项目的一部分,请确保项目已经成功构建。

没有可用于此错误的堆栈跟踪或错误行信息

>变量’listViewImages’是未声明或从未分配。

在MyApp.Main.Designer.cs行:XYZ列:1

Call stack:
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement) 

该代码行是实际添加到表单的地方

this.imagesTab.Controls.Add( this.listViewImages );

listViewImages被声明为

private MyApp.Controls.SortableListView<Image> listViewImages;

并在InitializeComponent方法中实例化如下:

this.listViewImages = new MyApp.Controls.SortableListView<Image>();

如前所述,该程序编译和运行完美,我已经尝试将SortableListView类转移到一个单独的程序集,所以可以单独编译,但这并没有什么不同。

我不知道从这里去哪里。任何帮助将不胜感激!

它发生在我身上,因为x86 / x64架构。

由于Visual Studio(开发工具本身)没有x64版本,因此无法将x64控件加载到GUI设计器中。

最好的方法可能是调整x86下的GUI,如果需要,可以编译x64。

http://stackoverflow.com/questions/9314/could-not-find-type-error-loading-a-form-in-the-windows-forms-designer

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 在Windows窗体设计器中加载窗体时出现“无法找到类型”错误