2013-07-02 60 views
0

我不太清楚如何解釋這個問題,它似乎很模糊。 使用我的應用程序的兩個客戶端報告說,應用程序根本無法打開,它對其他客戶端來說工作得很好。VB.Net應用程序無法啓動某些客戶端

我無法訪問他們的電腦,所以很難自己處理這個問題。

我已經聯繫了其中一個客戶,並且給了他很多試驗和錯誤建議來解決這個問題 - 他安裝了正確的.Net Framework(4.0)。 當我向他發送一個沒有代碼的應用程序版本時,他能夠運行它,當表單類被啓動時,問題就開始發生。

Imports System.IO 
Imports Microsoft.Win32 
Imports System.Text.RegularExpressions 
Public Class frmMain 
    ... 
End Class 

該類 - 即使刪除了代碼 - 也會導致該問題。 將所有代碼放在一起,客戶端根本沒有運行程序的響應(不會出現在任務管理器中)。 但隨着代碼從類中刪除,客戶端得到一個「應用程序已停止工作。」錯誤,但沒有提供詳細信息。

什麼可能導致這樣一個奇怪的問題?

我嘗試從x86上更改爲'任何CPU',正如我在Google上搜索的某個地方所建議的那樣,但這沒有任何效果。我不知道如何將錯誤處理添加到表單類初始化中,所以我不知道如何從中獲取任何錯誤信息。

回答

1

當在應用程序域中引發未處理的異常時,會顯示經常無用的「應用程序已停止工作」消息。

我假設你有自己的Sub Main方法,而不是使用內置的Startup Object項目屬性。在您的Main方法中,將事件處理程序附加到AppDomain.CurrentDomain.HnhandledException並將異常報告寫入磁盤(不要忘記遞歸ex.InnerException),然後您可以使用它來分析問題。

+0

「將事件處理程序附加到AppDomain.CurrentDomain.UnhandledException」 您能解釋一下這個嗎?我嘗試了[這裏](http://www.codeproject.com/Articles/2949/Managing-Unhandled-Exceptions-in-NET)的方法,但不知道如何將事件處理程序附加到UnhandledException。 在小組主要我想: '再Application.Run(frmMain)'' 抓住拋出新的InvalidOperationException異常(「」)結束Try' 但客戶端,所以我認爲沒有得到UnhandledException錯誤我的實現方法很差,我不太瞭解它。 – Sakuya

+0

你不需要在你的「Sub Main」中使用Try/Catch。語法如下所示:'AddHandler AppDomain.CurrentDomain.UnhandledException,AddressOf MyHandlerMethod'。 – Dai

0

您是否檢查過Windows日誌中是否有與該應用程序相關的任何異常?我的客戶機器上可能有些東西阻礙了您的應用程序成功打開。請在這裏發佈您可能找到的任何日誌。

相關問題