在大型软件开发过程中,经常需要将编译后的dll复制到多处,例如服务端和客户端,这个软件就是在编译后自动将最新的DLL复制到目标目录的功能。
- 如果目标文件夹存在一个较旧的文件,软件在点击“同步”按钮后异步的方式从源文件将最新的dll复制到目标文件夹;
- 软件自动监视源目录的变化,加快同步的比较过程;
- 支持打开、保存和另存为一个同步配置;
- 支持记录最近10个历史记录;
这是一个简单的项目,所以没有什么复杂的架构,基本上按照模型+绑定的机制。几个重要的类包括:
WorkspaceManager
提供工作区的管理,例如打开、保存和历史记录等功能;Workspace
描述了一个同步所需的工作区,例如目标文件夹在哪里,另外,他也提供实际的扫描和同步功能;SourceFileCollection
源文件夹的扫描结果集合;TargetFileCollection
目标文件夹的扫描结果集合;PathHistoryCollection
历史记录的管理集合;AssemblyWatcher
源文件夹的监视器;TaskManager
辅助类,帮助程序同一个时间只做同一件事情,例如没有必要多个异步线程同时扫描源文件夹;FormWorkspace
视图部分,与用户交互。
我们使用Visual Studio开发,请打开对应的解决方案查看和编译源码:
AutoUpdate vs2008.sln
支持vs2008查看和编译源码;AutoUpdate vs2015.sln
支持vs2015; 源代码使用最低要求的.net 2.0开发。