Excel Interop AccessViolationException

System.AccessViolationException:试图读取或写入受保护的内存。 这通常表示其他内存已损坏。
(System.RuntimeType.ForwardCallToInvokeMember(String memberName,BindingFlags flags,Object target,Int32 [] aWrapperTypes,MessageData&msgData)

我正在通过调用这个

myRangeObj.Insert(CopyOrigin: XlInsertFormatOrigin.xlFormatFromLeftOrAbove); 

Excel刚刚崩溃后。

行为是相当有趣的。 如果我不附加到debugging器Excel只是崩溃,没有全局exception处理程序被击中。 在事件查看器的条目是

错误应用程序名称:EXCEL.EXE,版本:15.0.4867.1000,时间戳:0x57d799c6
错误模块名称:ntdll.dll,版本:6.1.7601.23543,时间戳:0x57d2fde1
exception代码:0xc0000005
错误偏移量:0x00000000000724a8
错误进程ID:0x1720
错误应用程序开始时间:0x01d241b7c6c06d70
错误的应用程序path:C:\ Program Files \ Microsoft Office \ Office15 \ EXCEL.EXE
错误模块path:C:\ windows \ SYSTEM32 \ ntdll.dll
报告ID:2974b4d0-adab-11e6-828a-44850096768d

如果我附加到一个debugging器,有时我可以得到TargetInvocationException后抛出AccessViolationException。

如果我尝试在该行附近添加一个try catch块,Visual Studio将会崩溃,并且catch块代码不会被击中

这个问题只能在一些机器上重现,我们注意到Application.Calculate()调用也可能导致这个问题。

此问题已在Windows 7,Windows 10和Windows Server 2008中全部使用32位Excel 2013进行了复制

任何想法,将不胜感激。