2010-04-06 49 views
4

我有一個快速的問題有關調試和VS 2008年發佈臨時調試版本和最終的應用程序釋放

我有一個應用程序我一直在努力 - 其尚未完成,但的功能大部分是有。所以基本上我現在試圖把它的副本給予幫助文檔的人 - 這樣他們就可以玩一玩,並獲得我所做的一切。

現在的問題是如何提供給他們。我被告知只需將.exe從debug/bin文件夾中複製出來並放到USB上即可。但是在測試時,如果我在其他任何地方(此文件夾以外)運行此.exe,它會崩潰。我現在已經弄清楚爲什麼這樣了:

var path = ConfigurationManager.AppSettings["PathToUse"]; 
var files = Directory.GetFiles(path); 

拋出一個空引用,以便App.config文件未被使用。如果我用.exe複製該文件,它會再次運行。

所以實際上我的問題是關於管理這種情況的最好方法。什麼是向人們提供工作副本的最佳方式,是否有參考準備發佈應用程序 - 因此,所有內容都打包在一起並安裝在乾淨的結構化文件夾中。

回答

1

如果您想安全地抓住debug/bin文件夾中的所有內容。如果您使用VS中的下拉列表更改爲釋放並編譯該項目,則釋放/ bin文件夾中的文件將會減少,因爲不包括許多與調試相關的文件。

如果有第三方DLL參考,如果你下載了log4net或類似的東西,那麼你可以簡單地把它們放在與exe文件相同的文件夾中。這被稱爲並排部署,並且在我看來是最簡單和最容易測試的。

您可以搜索XCOPY部署以瞭解更多關於您正在嘗試執行的操作。

您可以採取另一步驟將bin文件夾壓縮到zip文件等壓縮文件中,以便用戶提取壓縮文件,或者使用WIX或NSIS等工具創建安裝程序以提取和複製文件。

+0

此外,如果文件不在debug/bin和/或release/bin文件夾中,那麼您可能需要在VS中選擇文件,並且文件的屬性中會有一個選項,告訴它在複製時被複制該項目已編譯完成。這就是它出現在bin文件夾中的原因。另請注意,這些配置對於Release和Debug是分開的,您需要將下拉菜單切換到Release並再次進行相同的更改,以便您的發佈版和調試版生物特性相同。就像這樣,因爲可能有些事情需要調試而不是釋放。 – AaronLS 2010-04-06 23:38:43

+1

,或者可以在設置選項之前選擇「所有配置」選項,以便人們不必將其設置多次。 (當然,我通常不記得這樣做,直到我已經在Debug中更改了它) – SamB 2010-04-06 23:55:23

+0

@SamB LOL我到了,直到後來什麼事情都不好時才意識到它。 – AaronLS 2010-04-07 14:11:49

相關問題