2011-06-04 29 views
2

這個問題讓我感到莫名其妙。我正在寫一個應用程序,它應該從表單中獲取信息,並將其傳遞給後臺工作人員,然後a)將信息寫入本地xml文件,並b)將信息插入遠程MySQL數據庫。c#應用程序在開發機器上工作,在非開發機器上失敗

在我的開發機器上,它看起來工作完美無瑕。遠程數據庫被更新,必要時會創建xml文件並在已存在的情況下更新。它正在工作。

即使我將退出開發環境和independantly的IDE沙箱運行的發佈版本,代碼工作。

但是,如果我把它放在另一臺機器上,代碼失敗,我不明白爲什麼。

我目前在32位Windows 7旗艦機上使用Visual Studio 2010 Professional。

此刻,我發現應用程序是在一個相當具體的點,這似乎正是在後臺工作開始做這樣的事情訪問文件系統或訪問遠程數據庫停止。

該項目包括一個單一的exe文件和一個DLL,其中有我在它設計了一個自定義的控制。自定義控件工作正常,因爲它顯示了我想要的內容,並返回了我想要的值,所以看起來這不是責任。

我最初以爲我可以看一個權限問題,但在運行應用程序作爲管理員讓我同樣的反應。

我一直在使用.NET Framework的版本4寫作,但是我剛剛降級,要在希望3.5版本,可以幫助。試圖運行應用程序之前,我試過的兩個非開發機器都是最新的 - 或者由我自己更新的。

我老實說在這裏很困惑。任何建議將是最受歡迎的。

Alan

+2

您是否添加了對客戶機上可能未安裝的任何第三方控件或程序的引用?這通常是第一個看的地方。另外,你有什麼錯誤? (提示,如果你沒有收到錯誤並且崩潰,那麼你不能正確處理錯誤,把try ... catch塊放在任何可能失敗的代碼周圍) – David 2011-06-04 12:33:05

+0

@David唯一的第三方代碼被引用將成爲MySQL連接器參考,我想這可能是問題的一部分。我會嘗試將其納入發佈版本並查看會發生什麼。感謝您的迴應。我沒有想過MySQL代碼可能是一個問題。 – inksmithy 2011-06-04 12:37:18

回答

4

如果您的代碼失敗,最有可能意味着有一些未捕獲的異常。你應該做的是將所有未捕獲的異常(可能還有一些被捕獲)記錄到文件中,可能使用類似log4net的東西。

我不認爲我們可以幫助你。

+0

感謝您的回覆,我將不得不抓住log4net。 Alan – inksmithy 2011-06-04 12:38:17

1

我已經寫了診斷在這種條件下應用程序調用Donsole現場記錄工具。在開發人員工作站上,使用VS的功能豐富的調試器進行診斷非常容易。實用程序應用程序在這種情況下,他們完全不知道里面發生了什麼。我建議你下載最新版本並自己嘗試。解釋如何使用這個實用程序以及它的工作方式超出了這個答案的範圍,所以我會把你轉到項目的codeplex頁面。

http://donsole.codeplex.com/

這是它的外觀。

enter image description here

+0

謝謝,我會看看,歡呼! – inksmithy 2011-06-04 12:53:01

1

看看你的操作系統的事件查看器。管理工具>事件查看器> Windows日誌>應用程序。

相關問題