【发布时间】:2012-04-25 20:22:44
【问题描述】:
在 Windows 7 上运行的 VS2010 的构建后事件中,将文件复制并始终覆盖到目标目录的最佳方法是什么。
目前我正在使用
robocopy $(SolutionDir) $(TargetDir) "Morning Report Template.xlsm"
我也尝试过使用 Xcopy(带有 /Y),甚至只是简单的复制。但我还没有让它正常工作。要么我得到诸如“命令“robocopy C:\Working\Projects\SAFEXQueryForm\C:\Working\Projects\SAFEXQueryForm\SAFEXQueryForm\bin\Release\“Morning Report Template.xlsm””之类的构建错误,代码为 1。”否则它只是不复制。
我需要它每次都复制和覆盖,而不会出现构建错误,我还希望更改我知道 Robocopy 无法做到的文件名。
我做错了什么?最好的方法是什么?
【问题讨论】:
-
复制 /Y "$(SolutionDir)\Morning Report Template.xlsm" $(TargetDir) ?
-
什么都不做...还有其他设置吗?
-
@Tom QUArendon:如果我清理构建并删除文件,那么该代码会复制文件。如果我删除文件并只是构建,那么它不会复制。我怎样才能让它始终执行?
-
啊,我想我明白了。如果我理解正确,问题与 COPY 操作无关,而是与每次在项目上选择“构建”时让 Visual Studio 实际执行复制有关?也就是说,大概如果您按照您的描述进行操作,您会收到一条消息,指出该项目是最新的 00 它实际上根本没有运行构建,因此“构建后事件”根本不会运行。
-
是的,复制操作总是在命令提示符下工作。那么,您是说如果按 F5 或单击绿色播放按钮,则不一定会调用构建后事件?为什么不?有没有你知道的替代品?它也没有解释为什么 robocopy 给我错误...
标签: visual-studio-2010 xcopy post-build-event robocopy