我有一组依赖于其他项目的项目(你可以说实用程序),问题是我每次更改其中任何一个实用程序的代码时,我的同事需要采用最新的代码并在他们的机器上构建使用最新的程序集。 有一个很好的标准解决方案吗?或者只是将dll集中在共享文件夹上?
P.S:
我们正在使用MS source safe 2005,我不希望我的同事每次都使用源代码并在他们的机器上构建,因为他们只需要二进制文件而不是代码。
答案 0 :(得分:3)
如果您使用Subversion作为源控制系统,则可以使用SVN Externals执行此操作。 这样,当他们对该文件夹进行根更新时,他们将自动拉出新版本的实用程序。您也可以以只读方式向他们提供源代码管理,以便他们可以查看实用程序代码,但他们没有权利提交更改。
我们在工作中使用它,它完美地运作。但请注意,有时您不希望每次更新时都更新实用程序,因为使用新版本可能会破坏某些功能。这是贵公司必须要处理的事情。对于市长版本的实用程序,我们有SVN分支(或标签),所以如果我们更改某些市长,我们会创建一个新版本,然后人们必须手动将其SVN外部更改为指向新版本,如果他们愿意的话。 / p>
答案 1 :(得分:2)
他们真的需要立即使用实用工具吗?通常情况并非如此。
通常情况下,当他们合并自己的更改时,让同事在下一个方便点“拉”最新代码会更好。
您正在使用源控制系统,对吗?
如果您让每个人都在共享服务器上使用副本,则在使用二进制文件时可能会遇到问题,或者您可能会导致某些用法产生不一致的结果。
如果它们确实需要在特定时刻进行更新(例如,实用程序通过将某个中央数据库与您正在发展的模式联系起来工作,那么您需要在更新数据库模式的同时更新每个人的二进制文件)然后我建议将实用程序转换为Web服务。有很多非常简单的方法可以做到这一点。然后,如果他们是交互式的,那么同事可以通过网页访问它们;如果他们是命令行自动化的话,可以通过wget
之类的东西访问它们。您可以获得wget for Windows here。
答案 2 :(得分:1)
当我们在多个团队中共享程序集时,我们将它们提升到bin目录,这样其他开发人员就可以引用/使用最新程序集而无需从源代码重新构建。