轉換異常不容易解釋爲程序的默認目錄有問題。當你從VB6 IDE運行你的應用程序而不是直接運行你的應用程序時,應該會有所不同。
你將不得不使用調試器來找出發生了什麼問題。幸運的是,當你使用VB6時很容易。首先在Visual Studio中打開.NET項目。項目+屬性,調試選項卡。選擇「啓動外部程序」,點擊帶點的按鈕並導航到vb6.exe。如果您使用默認安裝選項,它應該位於c:\ program files \ microsoft visual studio \ vb98 \ vb6.exe中。
您可以將「命令行選項」設置設置爲.vbp項目的路徑,以便IDE自動加載它。不是絕對必要的。
調試+異常,請檢查「公共語言運行時異常」拋出複選框。按F5啓動調試器。 VB6 IDE現在將打開,如果需要的話加載你的VB6項目。運行該項目並重新創建失敗案例。這應該會導致Visual Studio調試器中的斷點。您可能必須手動切換到該位置,任務欄按鈕應該閃爍。使用普通的調試工具找出拋出異常的原因。
請注意,您還可以在Visual Studio中設置斷點,如果您需要單步執行代碼以找出錯誤,那麼該斷點很有用。當您按下F5時,由於DLL尚未加載,斷點指示器變爲空白。只要VB6項目從您的.NET代碼創建一個類對象,該DLL就會被加載(在輸出窗口中可見),並且斷點指示器將變爲固定。如果這沒有發生,那麼您可能需要使用/ codebase選項運行Regasm.exe,以便項目bin \ Debug文件夾中的DLL被註冊爲COM服務器。
你能指定「它會產生一個錯誤」。什麼樣的錯誤?什麼是錯誤信息? – 2010-05-18 07:21:26
這是特定於報告組件的錯誤。一些關於不能從字符串轉換爲其他類型的東西。底線是當應用程序在IDE之外運行時沒有錯誤。 – CJ7 2010-05-18 07:41:15
你是否在使用.NET部件的app.config中的設置? – 2010-05-18 08:22:04