2010-09-07 3 views
1

Я пишу событие post build для проекта visual studio.Относительные пути в каталоге файлов командной строки visual studio

у меня есть:

java -jar "$(ProjectDir)..\Tools\closure_compiler.jar" 

но оказывается после скомпилирован:

"D:\Projects\Source\Proj.Web\..\Tools\closure_compiler.jar" 

который недопустимый каталог, он просто добавляет точки. Моя проблема в том, что я хочу вернуться в 1 каталог. Абсолютный путь к файлу:

"D:\Projects\Source\Tools\closure_compiler.jar" 

Полное событие:

java -jar "$(ProjectDir)..\Tools\closure_compiler.jar" --js "$(ProjectDir)Scripts\*.debug.js" --js_output_file "$(ProjectDir)Scripts\script-bundle.min.js" 

ошибка:

Error 24 The command "java -jar "D:\Projects\Xormis\trunk\Source\Xormis.Web\..\Tools\closure_compiler.jar" --js "D:\Projects\Xormis\trunk\Source\Xormis.Web\Scripts\*.debug.js" --js_output_file "D:\Projects\Xormis\trunk\Source\Xormis.Web\Scripts\script-bundle.min.js"" exited with code 1. Xormis.Web 

ответ

2

Это возможное обходное решение для этого. Вам просто нужно преобразовать относительный путь в абсолютный. Если Visual Studio может обрабатывать обычные команды командной строки с расширениями команды, это может работать:

set ProjectDir=$(ProjectDir) 
java -jar "%ProjectDir:~0,-9%Tools\closure_compiler.jar" 

pushd $(ProjectDir) 
cd .. 
set ClosureCompiler=%CD%\Tools\closure_compiler.jar 
popd 
java -jar "%ClosureCompiler%" 

Вам может понадобиться настроить их в соответствии с вашими потребностями.

+0

@ Шаун: Я не уверен, что вы видели мой ответ, прежде чем решили удалить. Хотя визуальная студия не может напрямую поддерживать относительные пути, как кажется, это не так, могут возникнуть обходные пути для вашей проблемы, как я предложил в этом ответе. Пожалуйста, попробуйте. –

+0

Я удалил, прежде чем увидел ваш ответ, спасибо, я попытаюсь это сделать. –

0

Папка решение, как правило, один выше директории проекта, так что сделайте снимок:

$(SolutionDir)\Tools\closure_compiler.jar 

Если это не сработает, ознакомьтесь с full list of available macros. Может быть, есть что-то еще, что приблизится.

+0

Я не вижу ничего близкого. Файл находится на уровне 1 уровня в каталоге решений. Кажется, он не поддерживает относительные пути. Спасибо за помощь. –

+0

А, мое плохое. Я думал, что вы имеете в виду 1 уровень от проекта. Сожалею. –

Смежные вопросы