可以安装ironruby nuget包然后在vanilla VS2012中使用吗?

本文关键字:VS2012 vanilla 然后 ironruby 安装 nuget 包然后 | 更新日期: 2023-09-27 18:08:25

我对在asp.net MVC站点内使用ruby脚本(https://github.com/zmoazeni/csscss)感兴趣。我以前没有ruby的经验,所以我的问题可能是天真的。

是否可以导入ironruby nuget包并执行ruby脚本?

我的目标是在ruby脚本周围放置一个。net包装器,并将输出作为HTML。


到目前为止,我已经尝试谷歌开始使用ironruby,但没有找到很多我理解和可以工作的,(是的,这听起来模糊,但我不知道ruby或ironruby,找不到任何好的简单入门指南)。

可以安装ironruby nuget包然后在vanilla VS2012中使用吗?

我在https://github.com/edymtt/csscss-from-ironruby上实现了一个简单的概念证明,它在一个控制台应用程序中展示了如何使用IronRuby运行csscss的源代码来分析从文件加载的CSS。为了达到这个结果,我从这个SO问题开始——你可以在节目的评论中找到我使用的额外资源。我还没有在ASP.net MVC站点中尝试过这段代码——无论如何,这个示例应该是一个很好的起点。

此解决方案维护起来有点麻烦,因为您必须手动将csscss及其依赖库的源代码放入解决方案中。另一种解决方案是在机器上安装Ruby,使用gem安装csscss(这样它就会自动下载依赖项),然后从。net调用程序——我也将在示例中展示这种方法。注意,这个解决方案需要你在web服务器上安装Ruby。

UPDATE 2013-09-02 18:15 UTC根据Zach Moazeni的建议,我已经能够简化使用IronRuby运行csscss的方法,并且我已经相应地更新了概念证明。简而言之:

  • 在。net程序之外,我已经使用捆绑器将csscssjson(以及依赖的gems)下载到项目的本地文件夹;在。net程序中,我编写了一个函数来发现bundler创建的gem文件夹中库的所有路径(通过查找gems文件夹,然后为每个子文件夹包括lib文件夹,该算法受到这个SO线程的启发);在启动csscss之前,我已经把这个路径列表传递给了IronRuby解释器。

这种方法应该结合了只使用。net运行程序的能力,以及gembundler提供的轻松更新。

我是csscss的作者,因此我构建了JSON输出。

csscss -j file.css

这不是一个完美的解决方案,但它将输出JSON,而不是输出人类可读的文本,您可以从任何语言/运行时解析