出错信息中包含了“Interop”关键字的请参考本文
开发环境版本升级以后,凡是引用中使用了“Interop”关键字的,一定要注意升级带来的变化。
两个例子:
一个早期的acad二次开发的实例,有源码和可执行文件,在vs2008下据说正常,但是在vs2019下编译报错,矛头直指语句Autodesk.AutoCAD.Interop.AcadApplication AcadApp;但凡错误信息中含有“Interop”关键字的,都和引用有关,在各种网络解决方案的误导下,最终发现,导致错误的原因还是和VS2019的版本较高有关。曾经的一堆引用,在升级后的VS2019vs一句话就够了,那就是在添加acad引用以后直接使用:AcadApplication
AcadApp;
无独有偶,在示例二中:网络广泛流传的的一篇C#操作OFFICE源码,偏偏在VS2017下编译不过去,同样卡在了using MSWord = Microsoft.Office.Interop.Word;这个引用上。各种支招也是层出不穷,花了一整天重装OFFICE,最后突然在浏览对象时发现,Interop这个对象早就存在于对象浏览器中了,原来只要直接引用Word就行。(using MSWord = Word;)和谁说理去?
当然,出错的原因有千万,但是没有什么能够阻挡,对待编码经验的向往。更何况是前人已经成功验证了的代码。
既然是个新发现,特此贡献给广大码农,希望大家少走弯路,尽快让自己的代码欢快地奔跑起来。