visual studio命令行文件目录中的相对路径

时间:2010-09-07 18:48:26

标签: visual-studio-2010 command-line

我正在为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

2 个答案:

答案 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。也许还有其他东西会接近。