Visual Studio,将解决方案复制到构建文件夹

问题描述:

我正在寻找一种方法来添加额外的构建步骤,这将创建我的整个解决方案的备份副本。我只想在解决方案中的文件或整个解决方案本身不存在于目标文件夹或闪存目录中时执行此操作。最简单的方法是什么?最好我只希望这种情况发生,如果一个文件被认为是“较新的”,并避免复制和替换,如果该文件自上次备份以来没有改变。Visual Studio,将解决方案复制到构建文件夹

您可以使用

xcopy /D 

这只会复制其源时间比目标时间新的那些文件的批处理文件做到这一点。或者robocopy

这可以递归地复制整个目录,特定文件夹或特定文件类型。如果您愿意从批处理文件本身(而不是在Visual Studio中)启动您的构建版,则批处理文件将包含您需要的所有内容。否则,您可能会发现Solution-wide pre-build event?可用于设置此功能以通过Visual Studio工作。如果您遵循该流程,您应该可以利用Visual Studio Macros for Build Commands,如$(SolutionPath)

如果您只需要项目中实际包含的文件,则可能需要解析解决方案和项目文件。 .NET框架提供了一些库来帮助解析解决方案或项目文件(SolutionParser)。见 Parsing Visual Studio Solution files

这将是一些工作,但你只构建包含在你的项目中的文件列表,并与xcopyrobocopy使用。