寻找关于使用直观(.NET)API的版本控制系统的建议?

问题描述:

我正在创建一个项目,该项目可生成由一个或多个子文档组成的(复合)Microsoft Word文档。组合文档有成千上万的排列组合。用户可以轻松管理太多东西。用户需要通过应用程序查看/编辑子文档,该应用程序隐藏了所有令人讨厌的实现细节。该系统的一个要求是,儿童文件必须受版本控制。这让我感到沮丧。寻找关于使用直观(.NET)API的版本控制系统的建议?

我一直在使用现成的解决方案或滚动我自己之间撕裂。系统至少需要支持获取最新版本,获取特定版本,添加新的,重命名以及可能的删除。我已经明白了这一点,意识到创建自己的作品并不是一件容易的事情。就商业系统而言,我可以使用VSS和TFS。我曾经玩过TFS API,但它并不像我所希望的那样直观或充分。我不反对开源解决方案(例如SVN),但我对它们不太熟悉。

您会推荐哪种方法或工具?为什么?你有建议的API文档的链接吗?

环境:C#,VS2008时,SQL Server 2005/2008,低量(每天几百操作)

的SharePoint做文档管理的一个不错的工作,与版本等,也有大量的API,并且比使用VSS的COM层更加现代化。如果您将此作为企业解决方案(专用服务器等)编写,SP将是一个很好的解决方案,但对于桌面或小型企业/ SOHO应用程序来说不太好。

+0

谢谢!我没有考虑过SharePoint。我不太熟悉它,但我确实有一个我可以使用的网站。我是该网站的管理员,但我无法在服务器/门户级别访问。我需要什么比我必须开始的还要多?这种使用SP的“入门”资源的任何建议? – 2010-03-01 22:55:30

它实际上很容易在Sharepoint中使用文档版本控制进行滚动。如果您设置了新列表,您将能够在SP列表设置中正确定义附件和列表项的版本选项。

您还可以通过使用SP Web服务获得更详细的版本控制。如果您计划在应用程序中完成所有文档访问,并且不希望将用户推入Sharepoint站点,那么我会使用这种方法。这里是一个很好的tutorial to get started with SP versioning

试试Plastic SCM。它是分布式的,有一个很棒的GUI,它也可以作为集中工作,你会发现大量的.NET程序集来钩住你的代码。 alt text http://www.codicesoftware.com/images3mk/screenshots/visualize_4.JPG