我在Visual Studio 2012中编写了我的应用程序。我使用了对OxyPlot库(dll)的外部引用。我已经在Windows 7的某些机器上测试了我的应用程序(相同的版本,安装了Framework 4.0)。应用程序正常执行,但在使用Windows XP的计算机上运行失败(也安装了Framework 4.0)
之后我在Windows 7的机器上安装了Framework 4.5,然后删除了Framework 4.5(来自Control Panel => Programms and Features)并安装回Framework 4.0(Standalone Installer)。我的应用程序没有运行错误:CLR20r3
。
Details:
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: rm.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 525fd886
Problem Signature 04: OxyPlot
Problem Signature 05: 2013.1.100.1
Problem Signature 06: 525451de
Problem Signature 07: 218
Problem Signature 08: 0
Problem Signature 09: System.IO.FileLoadException
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1049
毕竟我从我的项目中删除了OxyPlot库,重新编译它,我的应用程序在每台机器上正常启动。
为什么重新安装Framework 4.0导致我的应用程序崩溃,以及为什么它不能在Windows XP上运行?我该如何解决这个问题? Framework 4.0和外部OxyPlot dll之间的关系是什么?
答案 0 :(得分:0)
我OxyPlot不支持.Net 3.5,只支持4及以上。
Windows XP不支持.Net 4.5,仅支持4(假设您有Service Pack 3)。
通常,VS2012将安装.Net4.5库。
可能有些问题。 (在同一台Win 7机器上安装VS2010和2012都会导致Visual Studio 2010在使用设计器时中断)。您可能面临类似的问题。
另一方面,如果您的目标是Windows XP,那么您可以安全地建立针对.Net 2的应用...(darn,XP已经过时了)......
答案 1 :(得分:0)
我有同样的问题。 我在安装特定的.Net 4.0安全更新后解决了这个问题:http://support.microsoft.com/kb/2604121。
我的WPF应用程序以.Net Framework 4.0为目标,并使用OxyPlot 2014.1.277.1。
对于这个应用程序,我还做了一些安装/卸载测试,每次都删除.Net Framework 4.0(这是设置完成的先决条件)。
当我运行应用程序时,我收到以下错误:
详细说明:
问题签名:
Problem Event Name: CLR20r3
Problem Signature 01: seling.newmonitor.gui.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 5379d9c4
Problem Signature 04: OxyPlot.Wpf
Problem Signature 05: 2014.1.277.1
Problem Signature 06: 534623ca
Problem Signature 07: 224
Problem Signature 08: 33
Problem Signature 09: System.IO.FileLoadException
OS Version: 6.1.7600.2.0.0.256.48
Locale ID: 1040
Additional Informations 1: 0a9e
Additional Informations 2: 0a9e372d3b4ad19135b953a78882e789
Additional Informations 3: 0a9e
Additional Informations 4: 0a9e372d3b4ad19135b953a78882e789
然后我安装了KB2487367更新,但没有任何改变:应用程序已终止,显示上述错误
安装KB2604121后,应用程序运行正常,我可以看到OxyPlot图。
这些更新是由Windows Update提出的。
这是我在安装KB2604121之前的错误堆栈:
应用程序:Seling.NewMonitor.GUI.exe框架版本:v4.0.30319
描述:由于未处理的异常,该过程终止
异常信息:System.IO.FileLoadException Stack:
at OxyPlot.PlotModel.Update(Boolean)
at OxyPlot.Wpf.Plot.UpdateModel(Boolean)
at OxyPlot.Wpf.Plot.InvalidatePlot(Boolean)
at OxyPlot.Wpf.Plot.PlotLoaded(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
...
at System.Windows.Application.Run(System.Windows.Window)
at Seling.NewMonitor.GUI.App.Main()
希望这有帮助!