【发布时间】:2009-02-03 22:23:25
【问题描述】:
我用 C# 编写了一个基本的 Windows 窗体应用程序,它具有嵌入式 Web 浏览器控件。我正在导航到一个页面以查看相机的提要。该应用程序在 Windows XP 上运行良好,但在 Vista 上却不行。
在 Vista 上,我收到 AccessViolationException。这似乎与数据执行保护有关。
http://jtstroup.net/CommentView,guid,3fa30293-a3a4-4a1c-a612-058e751ad151.aspx 的文章有几个解决方案。页面底部的修复,来自 Visual Studio 命令提示符的 editbin.exe /NXCOMPAT:NO YourProgram.exe 工作得很好。
但是,我想使用构建后事件方法,按照建议添加以下内容:
REM 将项目标记为 DEP 不合规 调用“$(DevEnvDir)....\VC\bin\vcvars32.bat” 调用 "$(DevEnvDir)....\VC\bin\editbin.exe" /NXCOMPAT:NO "$(TargetPath)"
但是,当我尝试通过调试器运行程序时,这不起作用(即我得到相同的异常)。
有什么想法吗?
【问题讨论】:
-
您的链接已损坏,请使用:jtstroup.net/post/…
标签: c# winforms webbrowser-control data-execution-prevention