2

我遇到了一个非常愚蠢的问题。我已经尝试完全重新安装 .NET 并没有解决问题。我什至无法通过谷歌搜索找到其他有同样问题的人。

就在我的计算机上,如果我将 NumericUpDown 控件添加到 .NET 项目中的表单并运行应用程序,我会在运行应用程序时收到以下错误消息:

System.Drawing.dll 中出现“System.AccessViolationException”类型的未处理异常

附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。

该应用程序在其他机器上运行良好。

有什么建议么?

4

3 回答 3

2

问题原来与显卡有关。我们发现一台同事的机器也有同样的问题,恰好两台机器最近都安装了同样便宜的显卡(Radeon HD5450)。两者都运行最新的驱动程序。

没有解释为什么这些卡/驱动程序会导致这个问题。但是移除卡并恢复到板载图形解决了这个问题。计划是尝试几个便宜的 GEForce 210。

我意识到这本身不是编程问题,但这可能会为其他人节省几个小时的放屁时间!

于 2013-09-06T09:39:45.980 回答
2

System.AccessViolationException当我将NumericUpDown控件拖到 Visual Basic 2010 Express 中的表单上,然后尝试运行程序时,我也遇到了关于读取受保护内存的错误。我正在使用显卡华硕 EAH5450。寻找解决方案我发现了这篇文章。

我的 32 位 XP 系统使用的是随卡提供的驱动程序,版本 9.000。卸载驱动程序、Catalyst Control Center 和 GPU Tweak(全部来自提供的 DVD)后,我安装了从他们的支持链接下载的驱动程序版本 8.980。安装后,驱动程序的日期为 2012 年 6 月 11 日。我还从同一个下载中安装了 Catalyst Control Center。

我在表单中添加了一个NumericUpDown控件并运行程序,没有错误。几乎没有解决问题的决定性证据,但这是一个积极的步骤,也许是一个无需更改硬件的可行解决方案。

我感谢那些为这个线程做出贡献的人。

于 2014-03-19T02:43:37.073 回答
0

只需进入 VisualStudio 工具>>选项>>调试>>JIT(即时)并禁用托管,本机和脚本复选框的检查。它已经解决了我的问题。

于 2015-09-21T05:01:54.077 回答