从.NET C#运行“吞咽”任务?

从.NET C#运行“吞咽”任务?,c#,asp.net-mvc-4,sass,gulp,C#,Asp.net Mvc 4,Sass,Gulp,是否可以在运行时从C#运行一个gulp任务?特别是在MVC应用程序的控制器操作中 我在cms应用程序中有用户管理的内容,目前由css和js组成。我正在寻找一种方法,允许用户输入SCS,并在保存之前将其编译成css(并缩小) 我已经看过BundleTransformer项目,它扩展了现有的System.Web.Optimization库,将SCS处理包含在bundle中。 但我更喜欢在编辑和保存SCS时对其进行预编译,而不是在以后在http请求中访问时对其进行绑定(我知道输出可以缓存,但我也希望

是否可以在运行时从C#运行一个gulp任务?特别是在MVC应用程序的控制器操作中

我在cms应用程序中有用户管理的内容,目前由css和js组成。我正在寻找一种方法,允许用户输入SCS,并在保存之前将其编译成css(并缩小)

我已经看过BundleTransformer项目,它扩展了现有的System.Web.Optimization库,将SCS处理包含在bundle中。

但我更喜欢在编辑和保存SCS时对其进行预编译,而不是在以后在http请求中访问时对其进行绑定(我知道输出可以缓存,但我也希望避免绑定查询字符串,例如:“/bundles/my styles.css?v=592TjSpNmN0TzLFN9wZdSa_yD5-I1NcTtiqWDXaleck1”)

我正在VisualStudio解决方案中本地使用gulp来压缩和缩小我的js和scss资源,如果可能的话,我希望利用相同的功能

我找不到任何关于在运行时使用gulps任务的资源

也许我采取了错误的方法,因此任何替代方案建议都将非常受欢迎。

其简单-使用

但我认为你可能问错了问题。Gulp运行在Node.js之上,Gulp中的几乎每一个扩展都是Node.js应用程序的包装器

您真正应该问的是“如何同时运行Node.js和.NET代码?”尽管我从未使用过它,但一种看起来很有希望的方法是使用它


感谢@NightOwl888的输入,我正在查看Edge.js
System.Diagnostics.Process.Start("gulp", "taskName");
using System;
using System.Threading.Tasks;
using EdgeJs;

class Program
{
    public static async void Start()
    {
        var func = Edge.Func(@"
            return function (data, callback) {
                callback(null, 'Node.js welcomes ' + data);
            }
        ");

        Console.WriteLine(await func(".NET"));
    }

    static void Main(string[] args)
    {
        Task.Run((Action)Start).Wait();
    }
}