在 Revit 上为我的插件创建单独的应用程序域



亲爱的, 创建 Windows 应用程序时,您可以在应用程序中的任何 DLL 中的任何位置使用 AppDomain.CurrentDomain,但在为 Revit 创建插件时,域始终是 Revit 域,我不知道如何将其替换为我的应用程序域,出于同样的原因,我也不能使用程序集加载。

Revit 在他的路径中搜索 DLL,而不是我的应用程序路径,即使我给他我的路径,他也会忽略它。

如何解决这些问题?非常感谢!

除了在 Revit 本身创建的 AppDomain 中、Revit 提供的线程以及由 Revit API 定义的各种事件提供的有效 Revit API 上下文中之外,任何 Revit API 代码都无法在任何地方执行。

我最近在Revit API讨论论坛中讨论了如何在另一个AppDomain中执行IExternalCommand

简而言之,你不能。

请阅读 Revit API 入门材料,并了解开发人员指南中描述的 Revit 附加模块体系结构的基础知识。

Revit API 代码只能在有效的 Revit API 上下文中执行。

此类上下文仅在已注册以响应 Revit API 事件(例如外部命令"执行"事件(的事件处理程序中可用。

所有 Revit 事件都在 Revit 预定义的一个线程和一个应用程序域中启动。

这不是问题,这是事实。

没有什么可解决的。

最新更新