zhaiyake 发表于 2020-2-8 17:22:50

关于代码升级到AutoCAD2014之后遇到的两个问题

1、Application.DocumentManager.Open 语句无效了,找了半天找不到替代的语句,已引用accoremgd.dll
    就是DocumentManager没有Open方法,它只有GetDocument方法,但是参数是database,database也没有找到打开文件的方法。
2、引用com的时候,已引用interop.autocad.dll,interop.dll,interop.common.dll
   没有Application.AcadApplication方法了,没办法获取当前的AcadApplication对象。。。

以上两个问题,在autocad2012都没事,但是今天升级到2014就不能用了,我手头没有2013,合其他高版本,不知道高版本有没有问题
求救!

gulong2001 发表于 2020-2-9 10:14:48

引用CAD2014的相关DLL,然后项目属性-应用程序-目标框架改为.NET 4

zhaiyake 发表于 2020-2-9 10:55:06

谢楼上,我都做了。别的功能,代码都正常,就是这两项,肯定是autocad调整位置,或者方法了,没有找到。

sieben 发表于 2020-2-9 12:27:38

本帖最后由 sieben 于 2020-2-9 12:29 编辑

有没有确认过引用的Dll版本及位置都正确?特别是CAD的和Framework的;建议把编译输出位置的dll都删除了;另外会不会还有什么Core.dll没引用?你的2014项目代码是从2012项目代码升级而来还是新建的?

zhaiyake 发表于 2020-2-9 15:51:49

是从2012的代码升级而来的,引用了core。目前发现database有一个打开dwg的方法,正在测试中

swjtu2000 发表于 2020-2-29 16:46:25

Autodesk.AutoCAD.DatabaseServices.Database tmpDb = new Autodesk.AutoCAD.DatabaseServices.Database(false, true);

tmpDb.ReadDwgFile(fileName, System.IO.FileShare.ReadWrite, true, null);

ACAD.Document doc = ACAD.Application.DocumentManager.GetDocument(tmpDb);
希望有所帮助。
页: [1]
查看完整版本: 关于代码升级到AutoCAD2014之后遇到的两个问题