我正在寻找一种方法来添加一个额外的构建步骤,它将为我的整个解决方案创建一个备份副本。只有当解决方案中的文件或整个解决方案本身不存在于目标文件夹或闪存驱动器目录中时,我才希望它这样做。实现这一目标的最简单方法是什么?最好我只希望在文件被视为“较新”的情况下发生这种情况,并且如果文件自上次备份以来没有更改,则避免复制和替换。
问问题
477 次
1 回答
1
您可以使用批处理文件执行此操作
xcopy /D
这将仅复制源时间比目标时间新的那些文件。或robocopy
。
这可以递归地复制整个目录、特定文件夹或特定文件类型。如果您愿意从批处理文件本身(而不是在 Visual Studio 中)启动构建,则批处理文件包含您需要的一切。否则您可能会发现解决方案范围的预构建事件?对于将其设置为通过 Visual Studio 工作很有用。如果您遵循该过程,您应该能够利用Visual Studio 宏构建命令,例如$(SolutionPath)
.
如果您只需要项目中实际包含的那些文件,则可能需要解析解决方案和项目文件。.NET 框架提供了一些库来帮助解析解决方案或项目文件 ( SolutionParser
)。请参阅
解析 Visual Studio 解决方案文件
这将是一些工作,但是您构建一个仅包含项目中包含的文件的列表并与xcopy
or一起使用robocopy
。
于 2017-03-18T02:40:02.287 回答