0
我有一个非常恼人的问题,关于dotfuscator和带空格的路径。我有一个是通过生成后事件调用下面的语法.bat文件:dotfuscator进/出路径中的空格
call "$(SolutionDir)..\Build\dotf.bat" $(SolutionDir) $(ConfigurationName) $(TargetPath) $(TargetDir).
.bat文件看起来是这样的:
SET DOTFPATH="%1..\Tools\DotfuscatorProEdition4.13.0\dotfuscator.exe"
SET DEBUG=%2
SET TARGETFILE=%3
SET OUTPUT=%4
if "%DEBUG%" == "Release" (
%DOTFPATH% /q /in:"%TARGETFILE%" /out:"%OUTPUT%"
) ELSE (
echo DOTFUSCATOR: Skipped due to debugmode
)
.bat文件临危参数,并产生一个像这样的命令:
"C:\some\path\to\dotfuscator.exe" /q /in:C:\a\path\toproject\Mydll.dll /out:C:\a\path\toproject\
.bat文件在本地很好地工作。但在构建服务器上,解决方案和项目路径具有空格,如下所示:
"C:\some\path\to\dotfuscator.exe" /q /in:C:\a\path\to project\Mydll.dll /out:C:\a\path\to project\
哪一个课程会混淆参数。所以,我试着用这样的quotationmarks围住路径:
"C:\some\path\to\dotfuscator.exe" /q /in:"C:\a\path\to project\Mydll.dll" /out:"C:\a\path\to project\"
此修复.bat文件和参数解析,但Dotfuscator的本身现在失败草草收场! Dotfuscator现在抱怨“路径中的非法字符”。我该如何解决?
我确定我没有使用双引号标记,所以不能这样做。但改变目录听起来像一个应该工作的解决方案!我不敢相信我自己并没有想出这个简单的解决方案!明天会试试看,谢谢。 – sundown 2014-10-19 11:17:10