我有几个类库,其中包含一些 ArcGIS 的命令和自动更新程序。到目前为止,每个库都包含一个安装程序类,我们有一个单独的安装项目,负责安装所有 dll。就像在这里一样。
我现在创建了另一个包含工具栏的库,它应该包含我们拥有的所有命令。该项目引用了其他项目,并且AddItem(来自BaseToolbar基类)正在使用AddItem(Type type)重载,使其全部为强类型,而不仅仅是基于字符串(用于 CLSID 或名称)。
当然,Toolbar 项目包含安装程序。我只是想知道更改建议的安装程序实现(来自上面的链接)是否是一个好主意,以便确保所有命令的 dll 都将被注册(迭代输出文件夹中的 dll 文件,并注册他们?有更好的方法吗?)
这会将安装问题从每个命令项目转移到一个集中的地方。我认为通过这种方式添加更多命令会更容易,因为我只需要从 Toolbar 项目中添加对它们的引用。这有意义吗,还是我应该坚持在每个项目中单独放置一个安装程序,然后将它们一个一个添加到安装项目中?
还有一件事——有没有一种简单的方法可以在 ArcMAP 中找到几个命令的来源?我有一些奇怪的类别(由这台机器上的过去用户创建),我想删除旧命令。