2012-04-30 9 views
0

私は必死だから私はあなたに来る。私は最新のMonoDevelopを使ってC#でGTK#アプリケーションを開発しました。これは.NET Framework 4.0/x86向けに構築されており、使用する外部ライブラリは公式のMysql .Netコネクタのみです。それはWindows XPの下で実行することを意味します。C#アプリケーションが起動する前にクラッシュする

これは私がこのIDEで作成した最初のアプリケーションです。私は結果と開発時間にとても満足していましたが、展開は本当の頭痛です。

開発マシンでは完全に動作します。デバッグはきれいです。すべて大丈夫です。

次に、展開に関する情報が見つかりませんでしたので、クリーンXPをインストールして試してみて、クライアントのマシンにインストールする必要のあるものを確認しました。

私はSP3、.NET 4.0をインストールし、ビルドログに記述されているすべてのDLLをリリースパッケージにコピーしました。これにより、開発マシンのMonoDevelopの外で動作しました。しかし、 "アプリケーションに問題が発生したため、終了する必要があります"エラーが発生しました。例外はありません。カーネル32.dllには、0012aebがあります。

私は、4.0のアップデートされたIEの前に.NET 3.5をインストールしようとしましたが(ただの場合...)、EXEのフォルダにさらにGTK#とMonodevelop DLLをコピーし、Mysql .NETコネクタをインストールし、 2.8 ...しかし何も。それでも説明できないエラーが発生しています。

GoogleとStackOverflow検索が役に立たなかった。私はこのマシンから移動することなく過去12時間以上で多くのことを研究して試しました。

アドバイスをありますか?それを引き起こす原因は何ですか? VSをインストールせずにEXEをデバッグする方法はありますか?この種の実行可能ファイルの依存関係は何ですか?それは、直感的なaintのとスキルを必要としていてもWinDbgのは、あなたには、いくつかのJITのトラブルを把握することができます

+0

デバッグビルドでコマンドラインから実行した場合、クラッシュしますか?もしそうなら、スタックは何ですか? – payo

+0

本当に低レベルのテストでは、すべてのメソッドのコードをtry-catchで囲み、単に例外スタックトレースとメッセージをMessageBoxにダンプします。 –

+0

皆様、本当にありがとうございました。私はこのことを試してみて、私は何が分かるのか見てみよう。 – Gabriel

答えて

1

...

を、試してみる価値。何かを盛り上げるかもしれない。

0

Windows上で実行する場合は、おそらくVisual C#コンパイラでコンパイルする必要があります。

しかし、より多くの問題に関連して - debuggerを配備マシンに取得し、アプリケーションを実行します。これは、実際には推測できないため、問題を把握する最善の方法です。

Mono Application Deployment Guidelines

+0

はい、私はVC#を使用していたはずです...考えはフリーソフトウェアを使用することでした。私はガイドラインを見ていましたが、わかるように、Linux用です。別のデバッガを試してみよう(Monodevelopのデバッグではエラーは発生しない)、何が起こるか見てみよう。ありがとうございました。 – Gabriel

0

本番マシンにVisual Studioをインストールするには、いくつかのオプションがあり、そのうちの一つがRemote Debugging Monitorです。 Visual Studioのインストールは必要ありません。開発マシンからサーバーにファイルをコピーすることができます。私はC:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debuggerの下にそれらを持っています。

Remote Debugging of a Project Built Locallyにも使用できます。

関連する問題