0

我正在使用类似于 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在自述文件末尾指出了一个类似的错误。

4

1 回答 1

1

我编译它net462而不是net472,解决了它

于 2021-01-28T11:25:54.397 回答