none
VB.net 匯出執行檔後開啟會停止運轉 RRS feed

  • 問題

  • 我是使用visual studio 2013 我在建置完後到bin\Release底下去將執行檔傳至另一台主機開啟,則會跳出CLR20r3的錯誤

    之中有努力爬文找尋解法,也有將目標CPU改成X86等方法都試過還是不行,重新開啟新專案在撰寫一次也是一樣

    請問各位先進是否有其他看法或建議可供小弟參考,萬分感恩~

    2014年5月21日 下午 02:20

解答

  • 請為您的程式製作安裝程式, 再於另一台電腦執行安裝程式, 請參考:Visual Studio Installer Projects Extension

    • 已標示為解答 Yao Black 2014年5月22日 上午 06:13
    2014年5月22日 上午 01:54
  • 只是猜想, 該不會是因為 Visual Studio 中 Form Load 的 bug 造成的吧.

    也就是其實你的程式在第一個起始的 Form 中的 Load 事件委派函式中就出現 Exception 了

    有個方法可以試, 在你的開發電腦上, 不要用VS 去執行程式, 直接用檔案總管執行 exe 檔看看正不正確.

    另外是你有呼叫第三方的 DLL 嗎 ? 還有, 有寫入檔案的動作嗎 ?

    如果你可以提供比較詳細的線索, 大家可能比較容易幫你釐清問題.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2014年5月22日 上午 05:28
    版主

所有回覆

  • 目標主機有安裝專案所指定的 .NET Framework (ex: .NET 4 or 4.5 or 4.5.1) 嗎?

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure


    2014年5月21日 下午 02:35
    版主
  • 可能要先確認. NET Framework 4.0安裝是否完全,也許有出現一些錯誤,你可以從重新安裝或修復,然後再試看看。

    另一個修復方法

    1.開始 > 程式集 > 附屬應用程式.
    2.用系統管理員執行「命令提示字員」
    3.然後輸入下列的命令:
    regsvr32 atl.dll
    cd C:\WINDOWS\eHome
    ehSched /unregServer
    ehSched /service
    ehRecvr /unregServer
    ehRecvr /service
    ehRec.exe /unregServer
    ehRec.exe /regserver
    ehmsas.exe /unregServer
    ehmsas.exe /regserver
    4.退出 「命令提示字完」

    然後再執行你程式看看。

    希望對你有幫助。

    開發者的異想世界 - http://etroy-com.blogspot.tw/


    2014年5月21日 下午 02:43
  • 目標主機與開發主機有確認過.NET Framework

    開發主機. NET Framework 4.5.1

    目標主機. NET Framework 4 Client Profile

    在進階編譯中是選擇. NET Framework 4 去編譯的


    • 已編輯 Yao Black 2014年5月22日 上午 01:32
    2014年5月22日 上午 12:40
  • 我將開發主機與目標主機重新安裝去修復. NET Framework 4.0,再依序執行您提供的方式在命令提示字元,輸入各項指令後再從開發主機重新建置,將bin\Release的.exe執行檔送到目標主機執行,一樣會發生CLR20r3的錯誤
    開發主機
    . NET Framework 4.5.1

    目標主機. NET Framework 4 Client Profile

    2014年5月22日 上午 01:31
  • 請為您的程式製作安裝程式, 再於另一台電腦執行安裝程式, 請參考:Visual Studio Installer Projects Extension

    • 已標示為解答 Yao Black 2014年5月22日 上午 06:13
    2014年5月22日 上午 01:54
  • 只是猜想, 該不會是因為 Visual Studio 中 Form Load 的 bug 造成的吧.

    也就是其實你的程式在第一個起始的 Form 中的 Load 事件委派函式中就出現 Exception 了

    有個方法可以試, 在你的開發電腦上, 不要用VS 去執行程式, 直接用檔案總管執行 exe 檔看看正不正確.

    另外是你有呼叫第三方的 DLL 嗎 ? 還有, 有寫入檔案的動作嗎 ?

    如果你可以提供比較詳細的線索, 大家可能比較容易幫你釐清問題.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。


    2014年5月22日 上午 05:28
    版主
  • 感謝~目前我使用安裝精靈將所有檔案包含DLL檔一併封裝進去,此方法可正常執行


    2014年5月22日 上午 06:08
  • 感謝各先進的提點,是我在程式中呼叫了2個第三方的DLL檔,而在建置專案完成後,bin\Release資料夾中,並未完整包含DLL檔案,導致執行檔開啟時抓取不到DLL檔而出現錯誤

    實在大意....感謝各先進的幫忙,萬分感恩啊~

    2014年5月22日 上午 06:12