1

初めてビューに入ると、次の例外が発生します。

タイプ'System.IO.FileNotFoundException'の最初のチャンスの例外がmscorlib.dllで発生しました

まず第一に、なぜ私がその特定のビューに初めて入るときにそれが起こるのでしょうか?問題がコンストラクターにある場合でも(それは不可能でした)、ビューに入るたびに呼び出されます(そして例外がスローされます)。

第二に、そのような例外の原因をどのように見つけるのでしょうか?デバッガーに侵入することはなく、リソースファイル(背景画像、アプリバーアイコンなど)が欠落していません。

最後に、(コード内のファイルを直接参照することを除いて)何がそのような例外をスローしますか?

問題のコードをお見せしますが、ファイルが少し大きすぎてすべてを投稿できません。

アップデート:

デバッグ後、コンストラクターの後OnNavigatedTo()前に エラーが発生することに気付きましたLoaded()。OnNavigatedToメソッドで起動されているスレッドがありますが、その部分のすべての要素(およびそのすべての内部部分)を試してみましたが、エラーは見つかりませんでした。

更新2:

さらにデバッグした後、エラーメッセージが見つかりました:

ファイル名またはアセンブリ名'System.Windows.debug.resources、Version = 2.0.5.0、Culture = en-US、PublicKeyToken = xxxxxxxxxxxxx'、またはその依存関係の1つが見つかりませんでした。

また、スタックトレース:

at System.ThrowHelper.throwVersion37CompatException(ExceptionType newEType,
    String newString, ExceptionType oldEType, String oldString)
at System.Reflection.Assembly.Load(String assemblyString)
at System.Windows.Resx..ctor()
at System.Windows.Resx.GetLoader()
at System.Windows.Resx.GetStringHelper(String name)
at System.Windows.Resx.GetString(String name)
at System.Windows.Controls.Primitives.ToggleButton.ToString()
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,
    IntPtr unmanagedObjArgs, Int32 argsTypeIndex,
    Int32 actualArgsTypeIndex, String eventName)
4

1 に答える 1

1
  1. 初回例外のビジュアルスタジオにブレークを設定し、デバッグして、欠落しているFileNotFound例外の詳細を確認できます。

  2. 時々、clrはいくつかの拡張dllを見つけようとしますが、これは通常私たちにはあまりにも魔法です。たとえば、プロジェクトでXmlSerializeを使用する場合、sgen.exeを使用してserializbleタイプのダイナミックxmlシリアル化dllを生成しない場合、CLRは実行時に生成しますが、その前に、clrはアセンブルをロードしようとします、FileNotFoundExceptionが発生しますが、キャッチされます

于 2012-08-13T12:47:03.950 に答える