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

标签 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 消息 “无法找到名为DLL“advapi32.dll”中的“EventSetInformation””

搜索给我thisthisEventSetInformation 仅适用于 Windows 8+。所以 windows 7 缺少这个方法,这里是异常(exception),但是我的程序怎么能引用这个方法,而它(程序)与 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)

编辑2
正如 Steve 和 Hans 在评论中注意到的那样,实际问题最终与 advapi32 库无关。我有一个从 Window 派生的 WindowEx 类,带有一些自定义内容,我的可 window 口是从这个 WindowEx 派生的。也许我的自定义类错过了一些方法(如果相信异常消息),但是在将基类切换回 Window 并将自定义逻辑从 WindowEx 直接放到可 window 口后,错误是走了。

最佳答案

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

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

关于c# - 启动应用程序时 advapi32.dll 中的 EntryPointNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32437477/

相关文章:

c# - 如何将现代标签链接 float 到左侧?

asp.net - Visual Studio 2010 中的 HTML 格式化

c# - 如何将 Visual Studio 表单设计器用于其他窗口系统?

visual-studio-2010 - 通过命令行将项目添加到解决方案

c# - 在网格中绑定(bind) session 数据

c# - 无法连接到 EntityFramework

wpf - WPF 的 MVC(不是 mvvm)?

c# - 如何定位窗口内的所有按钮?

c# - asp.net将匿名函数参数转换为字符串

c# - 如何从 C# 中的 TimeSpan 中删除毫秒?