乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 60|回复: 3

在互操作程序集中未能找到

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2017-12-1 17:09:44 | 显示全部楼层 |阅读模式
如果之前有人问过这个问题,我深表歉意——我在其他帖子中看到过对这个错误的引用,但还没有找到解决方案。我有一些在2016年(VS2012)构建和运行的代码,我很难将其移植到2018年(VS2015)。我更新了2018版dll的所有引用,但我收到一堆错误,说对几个类的引用“声称它是在‘Autodesk’中定义的。AutoCAD.Interop ',但找不到它。我反复检查了我是否有正确的dll,并且我将我的项目更新到了framework 4.6,但是我似乎无法摆脱这些错误。有什么建议吗?我真的被难住了。
乔恩

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

129

主题

422

帖子

5

银币

中流砥柱

Rank: 25

铜币
936
发表于 2017-12-4 23:04:36 | 显示全部楼层
这是在您自己的PC上,还是在其他人身上?在向其他人发送DLL时,我见过这样的事情,他们必须取消阻止它。
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2017-12-5 10:29:42 | 显示全部楼层
感谢您的回复。DLL来自我自己的PC。我仔细检查了一下,没有一个DLL被阻止。在进一步调查后,看起来错误与我使用的民用3D互操作程序集有关,即使错误消息中显示的是AutoCAD互操作程序集。我创建了一个空白的C#项目,在两个AutoCAD互操作程序集中引用,以及来自民用3D的Base、UIBase、Land和UiLand互操作程序集。我使用下面的代码创建了一个类。错误在d.Regen语句上。如果我将“d”的类型更改为AutoCAD.Interop.Common.AcadDocument代码构建就可以了。
  1.     class Class1
  2.     {
  3.         public Class1(Autodesk.AECC.Interop.UiLand.AeccDocument d)
  4.         {
  5.             d.Regen(AcRegenType.acActiveViewport);
  6.         }
  7.     }

回复

使用道具 举报

4

主题

219

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2017-12-5 13:37:15 | 显示全部楼层
你有Autodesk吗?AutoCAD.Interop/Autodesk。项目中提到的AutoCAD.Interop.Common.dll?如果没有,您应该有,因为所有的Civil3D COM interop DLLs都依赖于普通的AutoCAD COM interop Dlls。
或者,可能是这样:
因为VisualStudio(自2012年?)会自动在项目中嵌入COM interop类型,因此,当您将项目从Civil2016升级到Civil2018时,VS可能不会创建新的项目文件(及其资源),因此项目会以某种方式继承嵌入式Autodesk。AutoCAD . Interop/公共dll?如果是这种情况,较新版本的Civil COM interop DLLs可能与早期版本的AutoCAD interops不兼容。
因此,您可能希望尝试删除所有COM interop dll(Civil3D和AutoCAD ),并重新添加它们,确保所有COM interop都来自Civil3D2018。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 10:50 , Processed in 0.147986 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表