4

Windows 7 VM と Windows Vista ラップトップの Debug フォルダーの内容をコピーしました。両方とも Dot Net 4.5 がインストールされていました。すべてのアセンブリはローカルにコピーするように設定されており、私の知る限り、アプリケーションフォルダー以外のものは参照していません。2 つの異なる開発者用コンピューター (1 つは Win8、もう 1 つは Win7) でアプリを実行すると、Visual Studio (F5) で実行する場合と同様に正常に実行されます。

展開コンピューターではそうではありません。問題は、エラー メッセージが表示されないことです。非開発マシンで実行可能ファイルをダブルクリックしても、まったく何も起こりません。

WinDbg.exe で起動しようとしたところ、次の出力が得られました: http://pastebin.com/43PbwyGx

では、これをデバッグして何が欠けているのかを調べるにはどうすればよいですか?

4

2 に答える 2

2

WindDbg ダンプを見ると、 の 2 回目のチャンス Execption がありCLR exception - code e0434352 (!!! second chance !!!)ます。Igor Dvorkinによるこの
記事を参照してください。彼は、それが一般的な例外であることと、cdb を起動して根本的な例外を見つける方法について説明しています。

彼はまた、 cdb の使用について説明している別のブログ投稿、Finding CLR exceptions without Visual Studioへのリンクも提供しています。

于 2012-12-27T18:13:30.090 に答える
0

開発マシンは64ビットですが、他のマシンは32ビットですか?これが当てはまり、AnyCPUとしてビルドしている場合は、すべての参照もAnyCPUである必要があります(または、プログラムが実行されているプラ​​ットフォームと一致している必要があります)。x64としてビルドする場合は、すべての参照もx64である必要があると思います。同じことが、x86にも当てはまります。

通常、この場合に表示される例外はBadImageFormatExceptionです(通常、サイドバイサイド構成のソースを使用してWindowsアプリケーションイベントログにも記録されます)。

また、参考までに、Windowsイベントログで例外を見つけることができる場合もあります。これはアプリケーションログだと思います。ソースは通常、.NETランタイムまたはアプリケーションエラーだと思います。詳細には、実際の例外とスタックトレースの両方が含まれる場合があります。

これらのエラーをログに記録するためにどのような条件が真である必要があるかはわかりませんが、考慮すべき点があります。

于 2012-12-28T04:38:29.417 に答える