可以安装ironruby nuget包然后用于香草VS2012

时间:2013-04-10 17:21:17

标签: c# .net ironruby

我对使用带有ASPNET MVC站点的ruby脚本(https://github.com/zmoazeni/csscss)感兴趣。我之前没有使用红宝石,所以我的问题可能很天真。

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

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


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

2 个答案:

答案 0 :(得分:3)

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

此解决方案维护起来有点麻烦,因为您必须手动将csscss及其依赖库的源放在解决方案中。另一种解决方案是在机器上安装Ruby,使用csscss安装gem(因此它会自动下载依赖项)并从.NET调用程序 - 我也会在样品。请注意,此解决方案要求您可以在Web服务器上安装Ruby。

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

  • 在.NET程序之外我使用bundler将csscssjson(和依赖的gems)下载到项目的本地文件夹中;
  • 在.NET程序中我编写了一个函数来发现bundler创建的gem文件夹中库的所有路径(找到gems文件夹,然后为每个子文件夹包含lib文件夹,这个算法的灵感来自this SO thread);
  • 在启动csscss之前,我已将此路径列表传递给IronRuby解释器。

这种方法应该只使用.NET来运行程序,并且gembundler提供了更新的简便性。

答案 1 :(得分:2)

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

csscss -j file.css

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