乐筑天下

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

每次重启AutoCAD。DLL被重新编译

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2013-4-18 11:37:53 | 显示全部楼层 |阅读模式
我使用NetLoad在AutoCAD中加载我的. dll。如果我尝试重建. dll,我必须先退出AutoCAD,然后重新启动它并再次使用NetLoad。有没有办法解决这个问题?有没有办法使用AutoCAD调试我的代码,而无需退出并重新启动它?

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

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

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

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

铜币
209
发表于 2013-4-19 00:37:35 | 显示全部楼层
Visual Studios支持编辑并继续32位。
其他明智的否。
回复

使用道具 举报

3

主题

28

帖子

1

银币

初来乍到

Rank: 1

铜币
40
发表于 2013-4-19 01:43:49 | 显示全部楼层

您可以尝试通过从不同名称的程序集重新加载来隐藏CommandMethod。
回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2013-4-19 13:26:02 | 显示全部楼层
如果您要求加载,您可以避免netload过程
回复

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

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

铜币
331
发表于 2013-4-19 13:35:21 | 显示全部楼层

问题是您必须关闭并重新启动AutoCAD,当程序集加载到AutoCAD的运行副本中时,您无法卸载和/或重新编译它。
回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2013-4-19 14:10:04 | 显示全部楼层
对于调试,您最好不要要求加载它。否则它会指向调试版本,并且永远不会加载发布版本。
可以在调试过程中启动AutoCAD,并且您可以使用脚本文件给出参数 /b。因此AutoCAD在启动后加载脚本文件。在该脚本文件中,您可以放置行NETLOAD和dll的文件名。
在这种情况下,您可以停止调试并重新开始,而无需一直键入NETLOAD命令。
回复

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

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

铜币
331
发表于 2013-4-19 14:57:52 | 显示全部楼层

如果他每次加载应用时都使用注册该应用的代码,他可以要求加载调试版本并切换到发布版本,他只需要对其进行一次网络加载,然后更新注册表以加载发布版本。这就是它在这里的工作原理,只是如果没有任何更改,我的注册码将避免重新注册程序集。
回复

使用道具 举报

2

主题

31

帖子

1

银币

初来乍到

Rank: 1

铜币
39
发表于 2013-4-19 15:07:58 | 显示全部楼层
我在ADN examples中发现了一个自动注册应用程序的类,但我认为如果dll文件已经注册,它不会更新路径。就我个人而言,我使用这个类,但是如果是在调试模式下,就不要调用这个类,但是另一方面,如果它是网络加载的,最好改变路径。你的解决方案更好(但你知道)
另一方面,我对自动注册应用程序的想法略有改变,因为AutoCAD的新自动加载系统也一直更新注册表。当有人安装我的应用程序时,我现在注册dll。然后我运行的时候就不需要调用类了。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2013-4-19 17:32:35 | 显示全部楼层

好吧,它肯定比基恩几年前制作的仿冒品(没有注册随后添加的命令)更好。
是的,自动加载机会在每次加载程序集时重新注册程序集,并且不必要地这样做。
有一种非常简单的方法来找出程序集是否已被以任何方式修改或更改,我的类将检查它是否具有,如果没有,则跳过毫无意义的重新注册。
Autodesk以这种方式做到这一点的事实并不能使它正确。想想看,他们讨论组最近的一些帖子似乎表明,还有其他问题似乎在产品发布中挥之不去,这闻起来非常糟糕。
我相信我的ExtensionApplicationInfo已经发布在这里。如果没有,有人喜欢它,我可以发布它。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2013-4-19 18:59:32 | 显示全部楼层
我认为加载程序集的“最佳方式”应该取决于代码的性质...您不希望NETLOAD一个将
RibbonServices.RibbonPaletteSetCreated
事件挂钩的程序集以完全初始化,因为当您能够输入NETLOAD时,该事件已经来了又去。
我必须测试注册表加载器或自动加载器才能确定先加载哪个。
如果加载您的程序集不依赖于启动顺序,那么脚本(/b开关)或在您的...\调试\文件夹中删除Acad.lsp应该可以做到...鉴于FindFile()方法在SFSP之前继续错误地在工作文件夹中自动加载用户定义的文件。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-29 04:35 , Processed in 1.592454 second(s), 72 queries .

© 2020-2025 乐筑天下

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