1

我如何将单一解决方案网站拆分为多个解决方案(而不是多个项目),以便单独的开发人员可以处理单独的解决方案,同时仍然对其他解决方案具有“可见性”?例如,我希望能够直接从 Visual Studio (F5) 运行和测试业务模块,但登录模块位于单独的解决方案中。有没有办法像这样划分网站开发?

如果不是,多个开发人员如何在同一解决方案中的不同项目上工作?(我们是一家小商店,还没有尝试过 Team Foundation Services)。

4

1 回答 1

0

... 源代码控制。

我读了您的问题,首先想到的是“他们正在尝试处理托管在网络共享上的源代码的同一副本”。糟糕,糟糕,糟糕。即使它是一个网站,因此要在正常运行状态下从一个地方访问,这也不是开发它的正确方法

为自己准备一份 Subversion 或 Mercurial 的副本,检查代码库并确保每个人都定期提交他们的更改。Subversion Server 本身不受 CollabNet 的约束;一些用于提供 GUI 和 IDE 集成的工具不是(但一些很好的工具是;查看 TortoiseSVN 以了解基于 Windows 资源管理器的一般存储库操作,而 AnkhSVN 是 Visual Studio 的免费软件插件,允许从 IDE 内提交/更新) .

一旦你设置了这个源代码控制系统,每个人都可以将代码库的工作副本“签出”到他们的本地机器上,并且可以对其进行所有他们想要的更改,然后在他们有一个稳定的情况下“签入”这些更改工作版本,然后其他人可以通过更新自己的工作副本来获得。显然,这需要开发人员的机器有足够的能力在他们自己的机器上运行网站的基本副本(过去 4 年左右的大多数 PC 在运行 IIS、SQL Server Express 和 ASP 的实例时应该没有问题) .NET 站点,只有开发人员浏览它)。要查看最新的工作副本的外观和行为,

SVN 通过“合并”更改来处理同一文件的多次提交,如果两个开发人员以不同的方式修改同一行代码,通常只会出现问题。如果有人对代码库进行大的、彻底的更改,可能会扰乱其他用户,但仍想“提交”他的工作副本(通常是一件好事,如果没有别的原因,出于备份目的),他可以根据当前源代码,更新并提交到它,然后当他完成后,将他的更改合并回“主干”。

基本上,每个从事项目的开发人员都应该使用同一组源代码,理想情况下,这将是开发人员可以从版本控制从头开始下载的单一解决方案,在 VS 中打开,点击“构建”按钮并开始。您的团队应该就他们正在从事的项目和源文件相互交流,并且应该定期(比如每隔一两个小时)提交他们的更改并让其他人得到他们的更改。

您可以全力以赴并实施“持续集成”服务器。在每次签入时,该系统将提取最新的源代码并运行许多自动化任务,例如运行各种测试/指标、推送到登台等。如果您将 TeamCity 安装在三个或更少的“构建代理”(每个“构建代理”可以运行不同的测试套件,或基于不同的提交工作)。当您密切遵守测​​试驱动的开发实践时,这通常具有最大的价值;然后 CI 服务器运行单元和集成测试,以确保代码完成开发人员认为应该做的一切,加上代码覆盖率,以确保遵循规则并且代码被测试充分执行。

在不同的解决方案中工作并暴露不同但重叠的项目的想法并不是一个好主意。我只将这种方法视为减少托管虚拟机环境中资源需求的一种策略(加载大量项目,尤其是使用 ReSharper 之类的代码分析工具,确实会给旧系统或模拟器/VPC 设置带来负担)。

于 2012-11-29T23:28:01.723 回答