0

Visual Studio 2012 でアプリケーションを作成しました。OxyPlot ライブラリ (dll) への外部参照を使用しています。Windows 7 を搭載したいくつかのマシンでアプリケーションをテストしました (同じビルドで、Framework 4.0 がインストールされています)。アプリケーションは正常に実行されましたが、Windows XP のマシンでは失敗しました (Framework 4.0 もインストールされていました)。
その後、Windows 7 を搭載したマシンに Framework 4.5 をインストールし、Framework 4.5 を削除して ([コントロール パネル] => [プログラムと機能] から)、Framework 4.0 (スタンドアロン インストーラー) を再インストールしました。私のアプリケーションはエラーで実行されませんでした: 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 との関係は?

4

2 に答える 2

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 スタック:

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()  

お役に立てれば!

于 2014-05-20T09:56:50.750 に答える
0

I OxyPlot は .Net 3.5 をサポートせず、4 以降のみをサポートします。

Windows XP は .Net 4.5 をサポートせず、4 つだけをサポートします (サービス パック 3 を使用していると仮定)。

通常、VS2012 は .Net4.5 ライブラリをインストールします。

その辺の問題かもしれません。(同じ Win 7 マシンに VS2010 と 2012 の両方をインストールすると、デザイナーの使用時に Visual Studio 2010 が壊れました)。同様の問題に直面している可能性があります。

別の言い方をすれば、Windows XP をターゲットにしている場合は、.Net 2 をターゲットとするアプリをビルドすることをお勧めします ... (くそー、XP は古いです)...

于 2013-10-20T06:42:35.970 に答える