none
vb.net 2008 express build 的 程式不能執行 RRS feed

  • 問題

  • 我用  visual basic 2008 express 開發軟體,

    在我的電腦可以執行,

    但是將編譯出的執行檔複製到別人的電腦確有錯誤訊息如下:

     

    如需叫用 Just-In-Time (JIT) 偵錯的詳細資料,
    請參閱本訊息結尾處 (而非這個對話方塊) 的資訊。

    ************** 例外狀況文字 **************
    System.NullReferenceException: 並未將物件參考設定為物件的執行個體
       於 mshow.Form1.btnSave_Click(Object sender, EventArgs e)
       於 System.Windows.Forms.Control.OnClick(EventArgs e)
       於 System.Windows.Forms.Button.OnClick(EventArgs e)
       於 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       於 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       於 System.Windows.Forms.Control.WndProc(Message& m)
       於 System.Windows.Forms.ButtonBase.WndProc(Message& m)
       於 System.Windows.Forms.Button.WndProc(Message& m)
       於 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       於 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       於 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** 已載入的組件 **************
    mscorlib
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    mshow
        組件版本: 1.0.0.0
        Win32 版本: 1.0.0.0
        程式碼基底: file:///C:/Documents%20and%20Settings/zzz/桌面/mshow1.exe
    ----------------------------------------
    Microsoft.VisualBasic
        組件版本: 8.0.0.0
        Win32 版本: 8.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Windows.Forms
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System.Drawing
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Runtime.Remoting
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    mscorlib.resources
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    System.Windows.Forms.resources
        組件版本: 2.0.0.0
        Win32 版本: 2.0.50727.1433 (REDBITS.050727-1400)
        程式碼基底: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_zh-CHT_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------

    ************** JIT 偵錯 **************
    若要啟用 Just-In-Time (JIT) 偵錯功能,則必須在
    此應用程式或電腦的 .config 檔案中,設定
    system.windows.forms 區段內的 jitDebugging 值。
    且該應用程式也必須在啟用偵錯的狀態下進行
    編譯。

    例如:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>

    當 JIT 偵錯功能啟用後,會將所有未處理的例外
    狀況傳送給電腦上已註冊的 JIT 偵錯工具進行處
    理,而不是使用這個對話方塊來處理。

    =============================================

    P.S.

    我在別人的電腦安裝 .net framework 3.5 & vb.net 2008 express 也一樣不行! :-(

    請幫幫忙,謝謝。

    2008年2月20日 上午 03:58

解答

  • 那是你的程式碼有問題。

    不妨用 Debug 的方式先編譯,然後拿到別台電腦上跑,這樣可以抓到出問題的程式位置。

     

    目前只知道這裡有問題:

    System.NullReferenceException: 並未將物件參考設定為物件的執行個體
       於 mshow.Form1.btnSave_Click(Object sender, EventArgs e)

     

     

    2008年2月20日 上午 04:03
    版主

所有回覆

  • 那是你的程式碼有問題。

    不妨用 Debug 的方式先編譯,然後拿到別台電腦上跑,這樣可以抓到出問題的程式位置。

     

    目前只知道這裡有問題:

    System.NullReferenceException: 並未將物件參考設定為物件的執行個體
       於 mshow.Form1.btnSave_Click(Object sender, EventArgs e)

     

     

    2008年2月20日 上午 04:03
    版主
  • 我也發生這樣的問題
    在vb 2008 EXpressed中執行沒問題
    build exe檔後
    就會跳出相同的錯誤訊息視窗....
    要怎麼解決呢 ?
    Thanks

    2009年4月20日 上午 04:20
  • 照小朱大的方法試試
    該問題是物件未宣告
    若知道問題發生位置
    從有問題的位置往上尋找
    看看是否有宣告物件實體(New Class)

    http://www.dotblogs.com.tw/larrynung/
    2009年4月20日 上午 05:16
  • 當初的問題是連自己的電腦上執行也會發生

    現在把問題解掉後
    執行檔在自己的電腦上執行沒有問題
    但是在別的電腦上就有問題 --> [ d3d程式執行發生問題,必須關閉,在此致歉]
    甚至不能開
    請大家給點建議
    謝謝

    我是使用VB + DirectX 9


    2009年4月21日 上午 12:51
  • 別台電腦的DirectX 9版本是否相同呢?
    2009年4月21日 上午 01:03
  • 有一台電腦中的安裝跟我的一樣... 那一台可以開但是一執行關掉
    另一台都沒有安裝...程式就連開都無法開

    版本跟執行檔有必要的關係嗎 ?
    所以
    我這樣做的執行檔要符合哪些情況的電腦才可以執行 ?
    Thanks

    2009年4月21日 上午 02:06