自动装载机
我正在寻找一种快速测试和调试VSE2015 for Autocad 2014中制作的AutoCAD插件的方法,试图避免无聊的“netload-choose path & file-type command”过程。我认为auto loader(http://adndevblog . typepad . com/AutoCAD/2013/01/Autodesk-auto loader-white-paper . html)可能是一个解决方案,在这里我应该部署一次我的“应用程序”,并指定正确的路径(通常的“...\ Documents \ visual studio \ Projects \ my project \ debug \ ")进行刷新。每次调试会话启动Autocad时都要加载. dll文件
有人知道这是可能的吗?
或者哪种解决方案可能/更好?
谢谢
**** Hidden Message ***** 如果你只是用它来测试和调试,那么修改注册表对我来说是正确的。Gile的工具让这变得非常简单。如果你正在寻找一个发行版的解决方案,那么在我看来,自动装弹机在这种情况下会工作得更好。
我不总是使用自动加载程序的原因是,每次修改dll时,我都需要将它们复制到自动加载程序目录中。现在我可以使用visual studio来自动完成这项工作,但是我更喜欢在需要的时候使用Gile的工具来安装和卸载dll。我有一个独立的dll,里面有一些命令可以帮我完成这个任务。
我非常喜欢自动加载机制,并将其用于应用程序部署和临时调试\发布测试
对于后者,只需设置Autoloader.bundle,并在Visual Studio项目的属性中指定PackageContent所在的相对路径。xml文件正在加载编译后的程序集(有关相应的ComponentEntry,请参阅ModuleName XmlProperty)
这将在调试启动时自动为您创建必要的注册表项,下次启动应用程序时(在VS内或VS外),任何未找到的自动加载程序集都将从AutoCAD注册表中为您清除
自动装弹机“残留物”的唯一真正问题来自.CUIx/的复制。将.bundle中的MNR文件放入每个产品的..\Support\文件夹中。Grrr
干杯 我忘了提到,我有时会运行第二个autocad来执行额外的杂项操作。在这种情况下使用Autoloader会使其更加困难,因为AutoCAD会锁定dll。能够在一个版本中卸载但在另一个版本中运行它对我来说是一个很大的优势。自动加载器使这在不不断复制目录/文件的情况下难以实现。 我只是使用自动加载程序加载一个加载项,该加载项检查文件夹中的文件是否已更新,如果已更新,则复制这些文件,然后进行网络加载。
@Keith Brown:
我用Gile的工具做的!(我一定是犯了一些错误...)
现在,我希望已经将正确的命令作为weel发送到Autocad,这样在启动调试后,我就可以直接到达第一个断点了
这怎么可能呢?
要为不同的autocad会话选择性地安装/卸载dll,是否通过“GetAllProductKeys()”方法过滤Autocad产品密钥?
我想只有在不同的Autocad版本中才可能实现这一点
@BB:
如果我没弄错的话,Autoloader和Keith-Gile的方法与我的需求类似:在这两种情况下,我都必须卸载我不再需要的东西(从Autoloader目录中删除程序集与运行Uninstall()方法)。
但是我对“自动装载机‘残留物’”非常担心/恼火:这到底是什么?
@Jeff
在你的生活中,你有没有遇到BB的“驻留”问题?
谢谢大家 自动加载程序“残留物”是指即使在成功卸载您从 Autodesk Exchange 正式下载的应用程序或经过自己制作的测试后仍会保留的文件 - 并且仅当您包含 .CUIx 和/或 .MNR 文件(在 Autodesk Exchange 上发布应用程序的要求)。
这是自动加载程序机制的固有“优点”,适用于任何和所有自动加载程序应用,而不管编译和更新自动加载程序应用的 .bundle 程序集的过程如何。
避免此问题的唯一方法(同样,仅当使用 .CUIx 或 .MNR文件),就是根本不使用自动加载器。
更多信息在这里:
http://adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html (
http://forums.autodesk.com/t5/net/packagecontents-xml-update-from-2013-to-2014/m-p/3872842#M34603 谢谢BB
至于现在我不使用CUI和/或MNR文件(至少对于我所知道的...)
所以我也会尝试Autoloader的方式。
跳过一段时间(如果我得到反馈,我会开始一个新的主题)到另一个论点,我想我在沼泽网线程中看到了一个非常好的主题,关于如何为Autocad设计应用程序。它主要研究了它的高级设计,然后跳入一些编码细节(但不是那么多)。我记得参加会议的有最聪明的沼泽家伙,可能还有在座的各位。
好吧,我想再次讨论这个话题,但直到现在我都无法做到。它应该在大约6到12个月前开始,可能没有适当的主题标题。
也许你们中的某个人可以帮助我理解这个话题。
这是因为我实际上想为Autocad应用程序编写代码,该应用程序使用新的调色板来帮助用户通过多个会话使用预先定义的属性和方法“构建”他的对象(因此需要保存和检索它们之间的信息
,谢谢
不客气;我很乐意帮忙。:啤酒:
我选择使用Autoloader,尽管有. CUIx副产品(这根本不会影响应用程序的性能),因为对我来说快速调试/部署应用程序是多么简单,每次我在阅读论坛后决定创建一个新的插件,或者只是对应用程序有一个新的想法——我想你会发现它(Autoloader)也是有益的。
至于PaletteSet线程,不确定您具体在寻找什么,但这里有两个最近想到的线程:
页:
[1]
2