【发布时间】:2013-06-23 17:09:18
【问题描述】:
我正在使用 Cruise Control 打包一个应用程序,命令是这样的
<Exec Command="$(NugetToolPath) pack "@(NuSpecs)" -OutputDirectory \\servername\PackageSource -BasePath "%(NuSpecs.RootDir)%(NuSpecs.Directory)" -NoPackageAnalysis" />
我将错误范围缩小为它出现的 BasePath
-BasePath "D:\Code\Mobile_Trunk\PreCompiledWeb\Portal\Mobile LT Admin\"
我知道这个问题,因为它应该是
-BasePath "D:\Code\Mobile_Trunk\PreCompiledWeb\Portal\Mobile LT Admin"
但是因为我使用的是 .Directory 元数据,所以它总是会在最后返回一个 \
我通常不会引用基本路径,但由于目录中有空格,我别无选择。有没有解决的办法?我不知道任何其他元数据会返回完整的文件夹结构,除了我如何布置它
更新:
我找到了这个解决方案,它仍然没有帮助我了解如何解决非法路径的问题,但它确实有效。
<Exec Command="$(NugetToolPath) pack "%(NuSpecs.RootDir)%(NuSpecs.Directory)%(Nuspecs.FileName).nuspec" -OutputDirectory \\servername\PackageSource -NoPackageAnalysis" />
【问题讨论】:
-
是因为路径中有空格吗?你需要逃避吗?
-
路径需要间隔,如果 -BasePath 末尾没有 \,它将很好地打包应用程序,我需要一种方法来删除 .directory 元数据结果末尾的 \