2011-06-16 43 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。因爲它不應該。

相關問題