从其他exe(参考exe)打开项目中的表单会引发对象引用错误C#

时间:2013-10-04 10:14:11

标签: c# winforms

让我们说 - 我正在开发项目A并且已经将项目B的输出作为exe文件。 我使用B的输出(Say - B.exe)作为A项目中的参考。

我需要直接在A中使用B.exe的表格。

示例:

Namespace A
{
    B.Reports.TaxReport reportForm = new B.Reports.TaxReport();
    reportForm.ShowDialog();
}

这里的问题是,表单在新Exe中正确加载所有数据库提取。但是如果用户执行任何操作,例如添加/更新/数据提取,则当前的exe会抛出异常:'对象引用未设置为对象的实例'。

如何解决这个问题?如果不是,是否有任何解决方法可以帮助我从参考EXE打开表格到当前正在开发的项目中?

2 个答案:

答案 0 :(得分:0)

  

但是如果用户执行任何操作,例如添加/更新/数据提取,则当前的exe会抛出异常:'对象引用未设置为对象的实例'。

然后表单可能有一些它希望设置的属性,或者它希望你调用的构造函数重载。

答案 1 :(得分:0)

不要将.exe添加为项目参考。最好的方法是将项目B的输出更改为dll(当前它的exe )。要更改它,请转到Project B's媒体资源,并将Output Type更改为Class Library。然后重建B并将项目B的输出dll添加为项目A的引用,并在dll B中调用表单。这应该可以。