2017-03-18 126 views
0

我正在尋找一種方法來添加額外的構建步驟,這將創建我的整個解決方案的備份副本。我只想在解決方案中的文件或整個解決方案本身不存在於目標文件夾或閃存目錄中時執行此操作。最簡單的方法是什麼?最好我只希望這種情況發生,如果一個文件被認爲是「較新的」,並避免複製和替換,如果該文件自上次備份以來沒有改變。Visual Studio,將解決方案複製到構建文件夾

回答

1

您可以使用

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使用。

相關問題