【问题标题】:How to Deploy AutoCad .Net dll?如何部署 AutoCad .Net dll?
【发布时间】:2017-12-29 05:27:03
【问题描述】:

我开发了一个插件,使用 C# 和 AutoCAD 托管 API 引用自动执行 AutoCAD 中的一些工作。在项目中添加引用时,我从 AutoCAD 安装文件夹中提供了 accremgd.dll、acdbmgd.dll、acmgd.dll 的绝对路径。由于无法复制这些 dll,我如何在部署中提供这些参考?我将如何在其他系统上使用我的结果 dll 插件?

【问题讨论】:

    标签: c# dll deployment autocad-plugin


    【解决方案1】:

    您无需担心这些引用,您只需部署您的 dll。假设您的用户安装了 AutoCad,您的项目引用的所有 dll 都位于与 acad.exe 相同的目录中,并且将自动对应用程序可见。因此,您的项目以特定位置的 dll 为目标这一事实并不重要。

    要进行部署,它的工作方式与在您的系统上的工作方式非常相似。您只需要设置自动加载。基本上,两个最佳选择是使用注册表或使用acad.lspacaddoc20xx.lsp 之一在启动时NETLOAD 你的dll。 This article 将指导您完成这两种技术。另请参阅线程中的this answer 和其他人。

    【讨论】:

    • 如果使用自动加载器,不需要弄乱注册表 - 只需创建一个带有 PackageContents.xml 文件的 .bundle 文件夹,然后将 dll 的内容转储到那里,瞧,它应该都能正常工作!跨度>
    【解决方案2】:

    我开发了一个插件,使用 C# 和 AutoCAD 托管 API 引用自动执行 AutoCAD 中的一些工作。在项目中添加引用时,我从 AutoCAD 安装文件夹中提供了 accremgd.dll、acdbmgd.dll、acmgd.dll 的绝对路径。由于无法复制这些 dll,如何在部署中提供这些参考?

    如上所述,只要安装文件夹的路径在客户端计算机上保持不变,就会在部署 dll 时添加引用。

    我将如何在其他系统上使用我的结果 dll 插件?

    有几种不同的方法可以做到这一点,其中一些已经提到过。最好的方法可能是使用 .bundle 格式。你可以在这里找到更多相关文档https://knowledge.autodesk.com/search-result/caas/CloudHelp/cloudhelp/2017/ENU/AutoCAD-Customization/files/GUID-40F5E92C-37D8-4D54-9497-CD9F0659F9BB-htm.html

    基本上,它的工作原理是创建一个名为 YourPlugin.bundle 的文件夹,在该文件夹中您有一个 PackageContents.xml,它告诉 AutoCAD 如何加载和运行您的项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      相关资源
      最近更新 更多