我做了件蠢事。我对Revit 2014允许在Ruby中安装RevitRubyShell宏感到非常兴奋,并编写了将成为外接程序的文章。
小问题--没有IronRuby的DLL编译器。哦哦!
所以,我将把我的代码转换成Python (并使用优秀的RevitPythonShell),这就是我在Revit144Ruby出现之前用于Revit工作的地方。
我的问题是--在我将Ruby代码转换成Python之后,(如何)我可以创建一个Revit外接程序DLL?我知道您可以将Python编译成.NET DLL,但是每个C#外接程序示例似乎都在C#中。我想保持在解释环境中,因为在Revit中这样开发非常快。但是,如果我必须将所有的开发都转换为C#以生成符合IExternalApplication接口的外接程序,那么用Python (或Ruby)完成所有的开发都是没有意义的。
有没有人在Python中做过Revit外接程序?
谢谢!
安迪
发布于 2014-01-17 09:23:39
查看这篇博文:使用DeployRpsAddin部署RPS脚本。
在那篇文章中,我描述了RevitPythonShell的一个功能,让我们创建一个可发行版本的RevitPythonShell (RPS)脚本--一堆要发布的脚本。
主要的方法是提供一个用C#编写的包装器DLL,它将脚本和配置文件存储为资源,并在运行时使用IronPython执行它们。这仍然意味着您的python代码没有被“编译”为IL,但是您可以将它捆绑起来,以便在另一台计算机上安装。请查看DesignPerformanceViewer以获得这样一个AddIn的详细示例。
发布于 2014-01-16 15:59:20
不要紧。经过更深入的研究后,发现这个堆栈溢出回答表明IronPython DLL除了IronPython之外是不可移植的/可调用的,因此忽略了IronPython外接程序。
从.NET代码构建DLL? (这个链接的答案是"No.")
https://stackoverflow.com/questions/21151299
复制相似问题