启动应用程序时advapi32.dll中的EntryPointNotFoundException

时间:2015-09-07 11:22:14

标签: c# wpf visual-studio xaml advapi32

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

现在,当启动程序时,System.Windows.Markup.XamlParseException会显示消息"方法或操作未实现" ,甚至在InitializeComponent()之前就会发生,所以没有一行执行 my 代码然后我查看了Visual Studio中的 IntelliTrace 窗口并发现了一系列异常,其中最常见的是System.EntryPointNotFoundException,其中包含消息"无法找到名为&#的入口点39; EventSetInformation'在DLL' advapi32.dll'" 中。

搜索给我thisthisEventSetInformation仅限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直接放到可视窗口后,错误就消失了。

1 个答案:

答案 0 :(得分:1)

为了完整地回答这个问题,请回答问题的最后编辑副本:

史蒂夫和汉斯在评论中注意到,实际问题最终与advapi32库无关。我有一个WindowEx类来自Window,带有一些自定义内容,我的可视窗口来自这个WindowEx。也许我的自定义类错过了一些方法(如果要相信异常消息),但在将基类切换回Window并将自定义逻辑从WindowEx直接放到可视窗口代码后,错误就消失了。 / p>