我找到了一些命令行参数来以xml格式运行CSSLint报告。它在运行命令提示符时运行良好。
参数:
格式= csslint "{SourceDir}\bootstrap.css“> "C:\temp\csslint.xml”
我想通过C#应用程序来执行它。我试过下面的代码。
Process process = new Process()
{
StartInfo =
{
FileName = "cmd.exe",
Arguments = "csslint --format=csslint-xml " + @"""{SourceDir}\bootstrap.css""" + @" > ""C:\Temp\CssLint.xml""",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true,
}
};
process.Start();
process.WaitForExit();但这是行不通的。对于这个问题,我能有一个解决办法或想法吗?
此外,是否有任何方法为指定目录生成CSSLint报告?我想给出目录路径,而不是文件名。
发布于 2016-07-11 08:17:54
您需要将/K或/C添加到cmd以执行作为参数传递的进程,因此:
Arguments = "/C csslint --format=csslint-xml " + @"""{SourceDir}\bootstrap.css""" + @" > ""C:\Temp\CssLint.xml""",来自文献资料
选项/C运行命令,然后终止 /K运行命令,然后返回到CMD提示符。这对于测试、检查变量非常有用。
一个警告..。管道(命令行的> "C:\temp\csslint.xml"部分)不是参数,而是重定向。
如果您要从应用程序重定向stdout ( RedirectStandardOutput = true),您可以直接从C#捕获它,不需要像您正在尝试的那样将其输送到文件中:您需要处理Start和WaitForExit调用之间的Process.OutputDataReceived事件,或者从Process.StandardOutput读取。
至于您的第二个问题,csslint CLI允许传入目录而不是文件。
https://stackoverflow.com/questions/38302150
复制相似问题