我正在为visual studio项目编写一个post build事件。
我有:
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
答案 0 :(得分: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%"
您可能需要调整这些以满足您的需求。
答案 1 :(得分:0)
解决方案文件夹通常位于项目目录之上,因此请注意:
$(SolutionDir)\Tools\closure_compiler.jar
如果不起作用,请查看full list of available macros。也许还有其他东西会接近。