0

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

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

例子:

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

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

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

4

2 回答 2

0

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

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

于 2013-10-04T10:18:25.213 回答
0

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

于 2013-10-04T10:20:27.237 回答