Визуальная студия - dotless.compiler

Мне нужно из файла ".less" создать файл ".css" со стандартной логикой CSS перед сборкой.

Я пытался бросить dotless.compiler.exe в папке и в событии Pre-Build вызовите эту команду

$(SolutionDir)content\folder\dotless.compiler.exe -m 
$(ProjectDir)content\css\site.less $(ProjectDir)content\css\site.css

но получите исключениеcommand exited with code 3". Где я ошибаюсь? Можете предложить другой способ?

4 ответа

Я нашел два распространенных случая, когда я получал этот код ошибки при использовании компилятора без точек в событии предварительной сборки. Первый - если CSS-файлы уже существуют в системе контроля версий и заблокированы. Второй - когда в путях к файлам.less или.css существуют пробелы (или специальные символы)

Это можно исправить, удалив файл css перед запуском компиляции и поместив все пути к файлам в кавычки:

del "$(ProjectDir)content\css\site.css"
"$(SolutionDir)content\folder\dotless.compiler.exe" -m "$(ProjectDir)content\css\site.less" "$(ProjectDir)content\css\site.css"

Я также получил ошибку -3. Моя проблема заключалась в том, что мои файлы находились под контролем исходного кода и были заблокированы, поэтому компилятор не мог перезаписать файл CSS. Таким образом, ваша проблема также может быть в том, что ваш CSS-файл, который нужно перезаписать, заблокирован.

У меня была такая же проблема на Windows 8.1 и VS 2013. Ни одно из предложенных решений не помогло мне.

Затем я запускаю компилятор без точек на CMD как администратор, и это работает!

Я не могу помочь с исключением из события Pre-Build, но в прошлом я использовал chirpy для генерации CSS-файлов.

Я также использовал squishit, который генерирует CSS во время выполнения, в отличие от сборки / компиляции.

Другие вопросы по тегам