AutoCAD 2020和随机系统。AccessViolationExceptions
嗨,我从AutoCAD 2009开始就一直在开发. Net插件,这些年来一直在对它进行调整/扩展,以便与我使用过的各种版本的AutoCAD(AutoCAD 2013、2016、2018和现在的2020)一起工作。
在2020年之前,它在所有版本中都按预期运行。当然,随着时间的推移,会有异常抛出,但总是由于我的代码中的错误和可预见的行为。我说的可预测是指如果抛出了异常,那么除非我解决了它,否则它会继续在同一行代码中抛出。
有了AutoCAD 2020,我就有了系统。AccessViolationException在不同的执行点抛出,实际上没有任何变化。我将Visual Studio设置为通过运行AutoCAD 2020并打开特定的绘图文件来调试加载项。之后,我输入一个简单的命令来加载。Net Addin,它通过一组绘图初始化过程(加载块,初始化布局等),但最终会以一个系统结束。AccessViolationException。我没有保存文件或任何东西,所以我希望两个连续的调试运行在同一个地方终止,但是没有。见鬼,我见过它在试图基于一个我知道有效的自定义序列化类创建一个新的XmlSerializer时抛出异常。没有任何意义!
有趣的是,该插件在AutoCAD 2018中运行时仍然工作正常。
有人遇到过类似的问题吗?
有什么推荐吗?!非常感谢您提供的任何反馈。最诚挚的问候,克里斯
**** Hidden Message ***** 是 - 是 - 系统.AccessViolationException 异常在附加了调试器的情况下看似随机发生。 奇怪的是,在没有附加调试器的情况下运行Addin允许addin完全启动/初始化,然后,在没有失败的情况下,一旦程序变得静止,就会引发System.AccessViolationException异常。 那里有文件锁吗?正如我所看到的那样,工作然后不工作 托管调试器有问题,但如果您在没有附加调试器的情况下获得异常,那么很可能是您的代码。我将首先在您的try... catch中添加一个记录器,(如果您能抓住它)输出消息和堆栈,这应该有助于缩小范围。 与此无关,但好奇您在哪个框架中?
它的目标是4.7.1。
我注意到构建时,构建日志包括:
构建开始于2020年3月16日下午6:22:42。
5>CoreResGen:
5>"C:\Program Files(x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\resgen.exe"/useSourcePath...
会不会是它使用了错误的resgen.exe(NETFX 4.6.1与4.7.1相反)?
实际上,有一个Try-Catch块试图捕获一个系统。在CommandMethod中包装代码时发生异常。 您是否研究过属性?
不 -- 我会调查这个 - 谢谢你的建议!
不-我会调查这个-谢谢你的建议!
我添加了和属性到我的命令(内容完全包装在try/catch块中),但这似乎没有帮助。
页:
[1]
2