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