如何将单一解决方案网站拆分为多个解决方案(而非多个项目),以便单独的开发人员可以处理单个解决方案,同时仍然可以“了解”其他解决方案?例如,我希望能够直接从Visual Studio运行和测试业务模块(F5),但登录模块位于单独的解决方案中。有没有办法像这样划分网站开发?
如果没有,多个开发人员如何处理同一解决方案中的单独项目? (我们是一家小商店,还没有尝试过Team Foundation Services。)
答案 0 :(得分:0)
......来源控制。
我读了你的问题,首先想到的是"他们正在尝试使用托管在网络共享上的源代码的同一副本"。坏,坏,坏。即使它是一个网站,因此从正常运行状态的一个地方访问,这不是开发它的正确方法
抓住Subversion或Mercurial的副本,检查代码库并确保每个人都定期提交更改。 Subversion Server本身免于CollabNet;用于提供GUI和IDE集成的一些工具不是(但是一些好的;检查TortoiseSVN用于基于Windows资源管理器的一般存储库操作,而AnkhSVN是Visual Studio的免费软件插件,允许从IDE内部提交/更新)
一旦你设置了这个源控制系统,每个人都会检查"代码库的工作副本到他们的本地机器上,并且可以对它进行所需的所有更改,然后检查"当他们有一个稳定的工作版本时,这些更改,其他人可以通过更新自己的工作副本获得。显然,这需要开发人员机器有足够的力量在自己的机器上运行网站的基本副本(过去4年左右的大多数PC应该没有运行IIS,SQL Server Express和ASP实例的问题.NET站点,只有开发人员浏览它)。要查看最新的工作副本的外观和行为,您可以定期将其发布到模仿生产服务器的临时环境中(在不同的计算机之间分配IIS / SQL Server等服务,除非您需要进行负载测试,否则功耗可能较小)
SVN通过"合并"来处理同一文件的多个提交。如果两个开发者以不同的方式修改了相同的代码行,那么通常只会出现问题。如果某人对代码库进行了大规模的彻底更改,可能会破坏其他用户,但仍然希望"提交"他的工作副本(通常是一件好事,为了备用目的,如果没有别的),他可以削减一个"分支"根据当前的源代码,更新并提交它,然后当他完成后,将他的更改合并到" trunk"。
基本上,每个开发项目的开发人员都应该使用相同的源代码集,理想情况下,开发人员可以从头开始从版本控制下载,在VS中打开,点击"建立"按钮然后去。您的团队应该相互沟通他们正在处理的项目和源文件,并且应该定期(比如每一两个小时)提交更改并让其他人参与进来。
你可以全力以赴,实施“持续整合”#34;服务器。在每次签入时,该系统将提取最新的源代码并运行许多自动化任务,例如运行各种测试/指标,推送到分段等。如果您将它安装在三个或更少的构建代理上,TeamCity是免费的。 #34; (每个"构建代理"可以运行不同的测试套件,或者基于不同的提交工作)。当您严格遵守测试驱动的开发实践时,这通常具有最大的价值;然后CI服务器运行单元和集成测试,以确保代码完成开发人员认为应该具备的所有内容,以及代码覆盖,以确保遵循规则并且测试充分运用代码。
在不同的解决方案中工作,揭露不同但重叠的项目的想法并不是很好;我曾经只看到过这种方法,作为减少托管虚拟机环境中资源需求的策略(加载很多项目,特别是像ReSharper这样的代码分析工具,可以真正对旧系统或仿真器/ VPC设置征税)。