我编写的WPF应用程序在我的电脑上运行正常,但在我的朋友(与我的Win 7 x64相同)上它崩溃了。我试图将它编译为x86或x64,但问题仍然存在。我还给他发送了测试应用程序,带有简单的按钮和消息,看看它是否缺少.net框架问题,但它运行没有问题。我的应用程序使用MSSQL和WPF部件绑定和各种模板,这些模板未包含在测试用例中。这有什么问题?
我包含错误报告(抱歉可能是不同语言的错误翻译):
Problem signature:
Problem event name: CLR20r3
Problem signature: 01: surfmanagertake2.exe
Problem signature: 02: 1.0.0.0
Problem signature: 03: 53b3b026
Problem signature: 04: PresentationFramework
Problem signature: 05: 4.0.30319.18408
Problem signature: 06: 52312f13
Problem signature: 07: 7fe8
Problem signature: 08: ee
Problem signature: 09: System.Windows.Markup.XamlParse
Operating system version: 6.1.7601.2.1.0.768.3
Regional settings ID: 1045
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
答案 0 :(得分:0)
之前我见过类似的问题,应用程序在某些机器上运行得很好,崩溃\在其他看起来与物理\ OS规范相同的情况下运行缓慢。
我将问题追溯到WPF使用的核心程序集的不同版本 - PresentationCore.dll,PresentationFramework.dll等。
查看所有托管引用(.Net程序集)进程的最简单方法是使用Process Explorer或ProcDump等工具(均来自sysinternals)。
这些应该允许您进行完整转储,然后可以在Visual Studio中打开它并显示已加载的程序集及其版本的列表。如果核心WPF程序集的版本号不同,那么我建议其中一台机器有一个Hotfix而另一台机器没有。
http://blogs.msdn.com/b/debugger/archive/2009/12/30/what-is-a-dump-and-how-do-i-create-one.aspx