1

ClickOnce (C#、WPF、.NET 4.5) アプリケーションがあり、Windows 7 32 ビットで正常に動作します。Any CPUとしてコンパイルされます。

Windows 7 64 ビットでは、ClickOnce の開始画面が表示されますが、何も起こりません (エラーも明らかなこともありません)。

デバッグするために、EXE ファイルと関連するすべての DLL ファイルを 1 つのディレクトリにコピーしました。私はそこから始めました: 再び同じ状況で、Windows 7 32 ビットで実行されますが、Windows 7 64 ビットでは何も起こりません。「クリーンな」Windows 7 32 ビットでクロスチェックしましたが、そこでも問題ありません。

.NET 4.5 は、私がテストしたどのマシンにもインストールされていました。

アプリケーションを克服/デバッグするにはどうすればよいですか? 64 ビットで実行するにはどうすればよいですか?

APPLICATIONS の下のイベント ログには次のように表示されます。

Faulting application name: MyApp.exe, version: 0.8.1.13, time stamp: 0x50e807c5
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b8479b
Exception code: 0xe0434352
Fault offset: 0x0000000000009e5d
Faulting process id: 0x1138
Faulting application start time: 0x01cdeeab375b90da
Faulting application path: B:\Debug\MyApp.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 761e9cba-5a9e-11e2-a573-406186f45b4a

hereによると、強制的にWin32アプリケーションとしてビルドすることもできますが、これは正しい方法ですか? アプリケーションは非常に単純なので、これが必要になるとは思えません。

リモート デバッグに関するフォローアップ: Visual Studio 2012: Can I start a .NET 4.5 application in a remote debugger (and not only attach)?

私が最初にしたことは、2 つの外部 (Syncfusion) DLL ファイルを最新バージョンに更新することでした。まだクラッシュしていましたが、イベント ビューアーに追加の .NET イベントが表示されるようになりました。「Syncfusion」関連ではないかと思いましたが、トレース全体で Syncfusion ライブラリが表示されません。

Application: MyApp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException
Stack:
   at System.Windows.Automation.Peers.AutomationPeer.ListenerExists(System.Windows.Automation.Peers.AutomationEvents)
   at System.Windows.Controls.TabControl.OnSelectionChanged(System.Windows.Controls.SelectionChangedEventArgs)
   at System.Windows.Controls.Primitives.Selector+SelectionChanger.End()
   at System.Windows.Controls.Primitives.Selector+SelectionChanger.SelectJustThisItem(ItemInfo, Boolean)
   at System.Windows.Controls.Primitives.Selector.OnSelectedIndexChanged

次に、Visual Studio 2012 ビルドでPrefer 32-bitをチェックしました。このコンパイル済みの exe はWindows 7 64 ビットで実行されます。したがって、それは部分的に成功しています。

32ビットを優先

4

0 に答える 0