2011-06-16 45 views
2

我有两个示例项目的解决方案。一个是exe文件的Windows Forms最终程序,另一个是dll库。我明白,最终的exe可以在不同的计算机上完美工作。所以..当我与其他人分享我的程序时,是否还需要额外包含SecondProject.dll和我的FirstProject.exe?或者是已经包含在FirstProject.exe文件内的dll文件?多项目解决方案,包括dll的最终计划

我很困惑,因为我已经在几台电脑上测试过FirstProject.exe文件,并且完美地工作。我错过了什么吗?

[解决]细节,我的回答如下..

回答

2

不,一个DLL组件具有与exe文件分发。它在不同的计算机上工作的唯一原因没有错误,也许你的exe文件实际上并不使用DLL。当你第一次使用一个类或调用该程序集中的一个方法时,dll会被加载。

另外一个原因可能是你赶上在代码中所有异常,包括DLLNotFoundException,似乎你的代码工作,而在现实中,它不会对你指望它有什么...

在任何你不能静态链接到.NET中的库。

+0

令我困惑的问题是整个功能,不包括表单被引用从第二个项目。所以应该没有办法该exe文件可以运行(不包括只显示表单)。我甚至开始使用.NET 2软件包安装旧笔记本电脑,以确保我第一次运行该exe文件。 – qlf00n 2011-06-16 10:46:48

0

如果问题中的DLL没有延迟加载,并且您的应用程序没有运行该DLL,那么就没有必要这样做。您可以安全地删除它。

0

如果你不在dll中调用任何函数或者在exe中不使用dll,那么 dll不需要包含。

0

解决..我不知道为什么,但清洁/重建解决方案|项目无法正常工作。在手动删除这两个项目中的bin和obj子目录以及清理解决方案重建之后,所有事情都应该开始工作(或停止)。

现在,它不工作没有DLL。因为它不应该。

相关问题