Windows 7 x64 SP1 の Visual Studio 2013 Update 5 で WPF アプリケーションを開発しています。プログラムを開始したら、http 経由で xml ファイルをダウンロードして解析します。今日まですべて正常に機能していましたが、問題は突然例外が発生し始め、プロジェクトに大きな変更が加えられず、新しい参照が追加されなかったことです。
プログラムを開始すると、 「メソッドまたは操作が実装されていません」というSystem.Windows.Markup.XamlParseException
メッセージがスローされ、以前にも発生したため、コードの1行も実行されませんでした。次に、Visual Studio のIntelliTraceウィンドウを調べたところ、一連の例外が見つかりました。その先頭には、 「DLL 'advapi32.dll' で 'EventSetInformation' という名前のエントリ ポイントが見つかりません」というメッセージが表示されています。 InitializeComponent()
System.EntryPointNotFoundException
検索すると、 Windows 8以降のみのこれとこの話が得られます。したがって、Windows 7にはこのメソッドがありませんが、ここでは例外ですが、(プログラム)がWindows 8とは少しEventSetInformation
も関係がないのに、どのように私のプログラムがこのメソッドを参照できますか? Visual Studio 内に、この advapi32 メソッドをトリガーできる Update-5 関連のコンポーネントがいくつかあると仮定することもできますが、もしそうなら、どうすればこの機能を無効にできますか?
.NET 4.5 を使用してプログラムを編集する
例外情報:
System.Windows.Markup.XamlParseException occurred
Message=The method or operation is not implemented.
Source=PresentationFramework
StackTrace:
in System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
Edit2
スティーブとハンスがコメントで気付いたように、実際の問題は最終的にadvapi32ライブラリに関連していませんでした。私はいくつかのカスタムのものWindowEx
から派生したクラスを持っていましたWindow
、そして私のビジュアルウィンドウは this から派生しましたWindowEx
。たぶん、私のカスタムクラスはいくつかのメソッドを見逃していましたが(例外メッセージを信じるなら)、基本クラスを元に戻し、Window
カスタムロジックWindowEx
をビジュアルウィンドウに直接配置した後、エラーはなくなりました.