打开管家婆汽配汽修(qperp3s)提示System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。” -暂未找到好的解决办法
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
最近事儿不多,调试一下打开管家婆汽配汽修qperp3s时,提示System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。” 如下图所示
其实出现这个问题,也不愿管家婆啥事儿,其实是我一个晓插件的问题,最下方的版本信息其实也能说明一切;
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.8.9214.0
其实按照这个逻辑就是因为我的Microsoft .NET Framework 版本过高造成的,毕竟我在Win7系统下测试正常;其实Win7系统下的Microsoft .NET Framework版本就是.NET Framework 4.0.30319 所以我在Win11系统下调试就是ASP.NET 版本:4.8.9214.0,这样理论上是兼容,但不见得所有都兼容,应该是版本过高造成的,如各位看官里面没有其他版本的程序,可以直接卸载.NET Framework 4.8.9214.0版本,这样就应该是可行的;
客户电脑里有用友U8+的产品,就没有去给操作,毕竟搞不好挂了就麻烦了~~~
System.AccessViolationException:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。” 的解决办法:
1、Microsoft .NET Framework版本过高,用Microsoft .NET Framework 4.0.30319即可;
2、换一种托管方式加入声明;
假设原始写法如下:
[DllImport("xxxx.dll")] public static extern string xxxxxx(); 新的写法如下: //声明 [DllImport("xxxx.dll")] public static extern IntPtr xxxxxx(); //调用 string content = Marshal.PtrToStringAnsi(xxxxxx());
3、网上最多的版本
用管理员身份运行CMD:netsh winsock reset
4、
<runtime>
<legacyNullReferenceExceptionPolicy enabled = "1"/>
</runtime>
5、没啥可说的,我的可能就是net问题,至于各位看官,可以慢慢的深入!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
![](https://images.laoliang.net/uploads/2021/07/1626949910-ccd097a7b57abdd.png)
![](https://images.laoliang.net/uploads/2021/07/1626949909-cfbf6f4c8292010.png)