最近想偷懒
想把项目生成的dll全部自动汇集到一个文件夹下
于是乎就动用了VS的生成后事件
在执行Xcopy的时候碰到了点问题
Invalid number of parameters
挺奇怪的,在公司的环境下没什么问题
从git上同步到家里来就报了个这样的错误
首先是检查了下环境什么的
没什么异常,最后发现问题是出在路径上
我的本地路径根文件夹带了个空格
试着改了下文件夹的名称发现还真是这个问题
好奇心作祟就百度了下
DOS下不支持长文件名,只支持8.3格式的文件名 。如果是Windows下的命令行,对于有空格的文件路径要加引号,对于xcopy命令就是源路径和目标路径都要加引号。
所以,如果不想改文件夹的名称就要对路径加上引号
比如,我当前的生成后命令是
xcopy $(TargetPath) $(SolutionDir)binPlugin* /y
想要兼容性好点就要变成这样
xcopy "$(TargetPath)" "$(SolutionDir)binPlugin*" /y