2013-03-27 53 views
2

我有圖有它的一些數據的文本文件的程序在其他計算機上運行。它在VS 2010 C#的調試/發佈模式下工作。我正在使用.Net和Aforge框架。在我的引用中是AForge.Math和System.Windows.Forms.Charting庫。如何獲得可執行文件,而無需創建一個安裝程序,

當我在它的工作原理完全,也就是說,當我拖放我的文本文件到我的形式出現在圖,因爲它應該的......斌/ release文件夾中運行可執行文件。但是,如果我將該版本文件夾複製到另一臺計算機上,則.exe會運行,但是當我拖放文本文件時,它不會繪圖。我只是得到一個白色的空白表格。 這是程序應該是什麼時,它的工作就像... This is what the program should look like when it works

當它不工作確實是這樣的(所以我已經試圖拖放一個文本文件轉換成表格),我得到看起來像這樣的東西.... This is not working

我懷疑我的問題來自使用AForge框架。所有計算機安裝.NET所以當輸入數據的圖表將繼續工作,但正在被繪製數據來自AForge這是不是在計算機上。雖然我不完全確定。

+0

是你的調試/ release文件夾裏面AForge的DLL? – 2013-03-27 17:39:35

回答

1

您應該複製所有您在調試發現或發佈文件夾中的DLL文件。但有時並不是所有的DLL都出現在那裏。 如果您使用的是框架也許正在尋找安裝目錄或GAC這些DLL。

在這種情況下AForge是一個外部DLL,所以你有兩個解決方案:

  1. 在所有要複製你的程序的PC上安裝AForge
  2. CopyLocal True:在參考資料中,在每個AForge DLL中,確保CopyLocal爲真。檢查此link以獲取有關設置CopyLocal = true的幫助。然後這些DLL將出現在你的debug/release目錄下,所以當你拖動所有的引用時就會工作。確保您複製了調試/發佈文件夾內的所有文件,特別是.dll。dll.exe.config。一旦你有它的工作,也許你可以避免複製.pdb文件。

enter image description here

個人而言,我會嘗試的最後一個。

+0

所以我不能只是複製和粘貼的.exe文件我必須做的是爲整個發佈文件夾? – user2023068 2013-03-27 17:38:33

+0

如果你的解決方案1,你將能夠。 – 2013-03-27 17:39:12

0

嘗試設置你的所有引用是copylocal =屬實,這應該把DLL的一個副本在bin \ Release文件夾,以便您可以將它們複製到另一臺計算機。 enter image description here

0

在Visual-Studio中打開您的解決方案,並從解決方案資源管理器中展開參考。它應該向您顯示您的項目所指向的所有DLL的參考列表。如果使用的話,它還必須包含您的AForge框架。

現在你需要做的是確保同一組DLL的存在在目標系統上: 無論是在exe文件本身的路徑(這將適用於您的自定義DLL如AForge FW) 或 在GAC(全局程序集緩存)(適用於已安裝如您的系統庫。**框架庫和的MSOffice的DLL)。

如果缺少了什麼,只是額外的DLL文件複製到您的.exe文件夾在目標機器上。

相關問題