可能涉及到的现象有:
1、c#_未将对象引用设置到对象的实例
2、未将对象引用设置到对象的实例
3、文件中的类都不能进行设计,因此未能为该文件显示设计器
4、未能加载文件或程序集
123因为原因众多,在排除第三方控件的情况下,可按照如下方式解决:
1、检查父类的构造函数和load事件,检查可空变量的使用和对控件的修改,按照空指针思路解决,添加if空判断。
注:编译器在打开视图设计器时会预加载构造函数和load事件,对默认值为null的对象的调用会加载失败,也算是提醒我们养成良好的编程习惯吧
例如下图,Test.frmInterface为null,Frm在打开设计器的时候,就会出现异常
public partial class BaseFrm : Form
{
private void BaseFrm_Load(object sender, EventArgs e)
{
Test.frmInterface.Do();
}
}
public partial class Frm : BaseForm
{
}
public static class Test
{
public static FrmInterface frmInterface;
}
public interface FrmInterface
{
void Do();
}
在父类BaseFrm的load事件中添加空指针判断
public partial class BaseFrm : Form
{
private void BaseFrm_Load(object sender, EventArgs e)
{
if(Test.frmInterface != null)
{
Test.frmInterface.Do();
}
}
}
public partial class Frm : BaseForm
{
}
public static class Test
{
public static FrmInterface frmInterface;
}
public interface FrmInterface
{
void Do();
}
2、关闭所有文档后,执行 “生成”-“清理解决方案”-“生成解决方案”即可恢复正常。
4未能加载文件或程序集的问题
请检查所有相关项目,右键-“属性”-“生成”-“目标平台”,思路为x86可以在x64平台下使用,但是x64无法在x86下使用,如果被调用项目为Any CPU,但是调用方项目为x64,也会出现该问题。