我正在使用类似于 RevitPythonShell 或 pyRevit 的 F# 脚本编辑器。由于它是一个非模态 WPF 窗口,我尝试按照该ExternalEvent
模式来评估脚本。在具有接口的主插件类上,IExternalApplication
我还创建了一些实用程序成员来引发外部事件。我创建了一个静态成员来访问这个插件类的当前实例。见插件:https ://github.com/goswinr/Seff.Revit/blob/minimal/Addin.fs#L51
插件运行后,我将当前运行插件的引用 ( #r @"D:\Git\Seff.Revit\bin\Debug\net472\Seff.Revit.dll"
) 发送到 Fsharp Interactive。静态成员具有正确的签名可见,但使用它们时,我得到一个System.MissingMethodException
. 这只发生在使用 Revit 命名空间的成员身上。与 Revit 无关的成员按预期工作。
编辑: 当我启动 Revit 并打开一个项目时,我只有这个错误。首次启动 Revit,然后从 revit 中打开项目时,不会发生此错误。
此 Revit 和 F# repro在自述文件末尾指出了一个类似的错误。