3

我在 Windows 7 x64 SP1 上的 Visual Studio 2013 Update 5 中开发 WPF 应用程序。启动程序后,通过 http 下载 xml 文件并解析它。直到今天一切正常,问题是异常开始突然发生,项目没有发生重大变化,没有添加新的引用。

现在,当启动程序抛出System.Windows.Markup.XamlParseException消息“方法或操作未实现”时,它甚至发生在之前,所以我的代码InitializeComponent()没有一行被执行。然后我查看了Visual Studio 中的IntelliTrace窗口,发现了一连串异常,其中最重要的是消息“无法在 DLL 'advapi32.dll' 中找到名为 'EventSetInformation' 的入口点”System.EntryPointNotFoundException

搜索给我这个这个EventSetInformation只有 Windows 8+ 的谈话。所以windows 7缺少这个方法,这是一个例外,但是我的程序如何引用这个方法,而它(程序)与windows 8无关,一点也不?我还可以假设 Visual Studio 中有一些与 Update-5 相关的组件可以触发此 advapi32 方法,但如果是这样 - 我该如何禁用此功能?


使用 .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一些自定义的东西,我的可视窗口是从这个派生的WindowEx。也许我的自定义类错过了一些方法(如果相信异常消息),但是在切换回基类Window并将自定义逻辑从WindowEx直接到可视窗口后,错误就消失了。

4

1 回答 1

1

为了这个问题的完整性,这里是问题最后编辑的副本的答案:

正如史蒂夫和汉斯在评论中注意到的那样,实际问题最终与 advapi32 库无关。我有一个WindowEx类派生自Window一些自定义的东西,我的可视窗口是从这个派生的WindowEx。也许我的自定义类错过了一些方法(如果相信异常消息),但是在将基类切换回Window并将自定义逻辑从WindowEx直接隐藏到可视窗口代码后,错误消失了。

于 2016-02-02T18:47:00.413 回答