我正在寻找一种方法来添加额外的构建步骤,该步骤将创建整个解决方案的备份副本。我希望它只在解决方案中的文件或整个解决方案本身不存在于目标文件夹或flashdrive目录中时才这样做。实现这一目标最简单的方法是什么?我希望只有当文件被认为是“更新”时才会发生这种情况,如果文件自上次备份以来没有改变,则避免复制和替换。
答案 0 :(得分:1)
您可以使用
对批处理文件执行此操作xcopy /D
仅复制源时间早于目标时间的文件。或robocopy
。
这可以递归复制整个目录,特定文件夹或特定文件类型。如果您愿意从批处理文件本身(而不是在visual studio中)启动构建,则批处理文件包含您需要的所有内容。否则,您可能会发现Solution-wide pre-build event?对于将其设置为通过Visual Studio工作非常有用。如果您遵循该流程,则应该能够利用$(SolutionPath)
之类的Visual Studio Macros for Build Commands。
如果您只需要项目中实际包含的那些文件,则可能需要解析解决方案和项目文件。 .NET框架提供了一些库来帮助解析解决方案或项目文件(SolutionParser
)。看到
Parsing Visual Studio Solution files
这将是一项工作,但您只需构建项目中包含的那些文件的列表,并与xcopy
或robocopy
一起使用。