Относительные пути в каталоге файлов командной строки Visual Studio - PullRequest
1 голос
/ 07 сентября 2010

Я пишу событие после сборки для проекта 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 ]

2 голосов
/ 07 сентября 2010

Вот возможный обходной путь для этого.Вам просто нужно преобразовать относительный путь в абсолютный.Если 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 голосов
/ 07 сентября 2010

Папка с решением обычно находится над каталогом проекта, поэтому попробуйте:

$(SolutionDir)\Tools\closure_compiler.jar

Если это не сработает, ознакомьтесь с полным списком доступных макросов . Может быть, есть что-то еще, что приблизится.

...