摘要:本文为在 Visual Studio .NET 中开发源代码管理的 Web 项目提供了策略。
简介
任何一个人都不可能掌握快速而连贯地创建一流水平的软件应用程序所需的全部语言、技术、工具和方法,因此,大多数专业开发人员都以团队的形式合作进行开发。这也是效率和经济效益所需要的。同样,大多数软件开发团队采用并行开发方法,这样就可以将单个开发人员从“串行开发”的束缚中解脱出来;所谓串行开发,即只有当一位开发人员完成任务后,下一位开发人员才能开始工作。“并行开发”允许多个开发人员同时“隔离”地工作,以稳妥的方式开发某个项目的相同或不同的部分和版本。要发挥并行开发的优势,团队必须实现进程化,以便项目开发人员能够在小冲突变成大冲突之前,迅速、逐步及自动地(某些情况下)对其进行解决。通过确保足够的开发隔离度,Visual Studio .NET 可以提高团队的协作能力。
隔离工作时,两个或多个开发人员可以进行有冲突地更改,并确保至少有一名团队成员有机会对各个冲突点进行审阅并选择合适的方案。与以前发布的 Microsoft 开发工具所不同的是,Visual Studio .NET 现在支持 Web 和非 Web 项目的真正隔离开发。
本文提供了以团队方式顺利开发 ASP.NET Web 项目的策略,介绍了 Web 项目文件管理,以便您更方便地了解如何以团队的形式设置、开发和部署源代码管理的 Web 应用程序。一个可靠的协作开发策略由以下因素组成:
要确保协作成功,其中最简单的方法就是使用源代码管理解决方案、项目和其他共享资源。源代码管理可以保护团队资源不会被意外删除,保护单个开发人员的更改不会被盲目或无意覆盖,还可以按版本维护所有项目文件的历史记录。Visual Studio .NET 使源代码管理成为项目文件管理的扩展,从而降低了源代码管理的复杂性。您无需离开集成开发环境 (IDE) 或者打开另一个应用程序,即可实现所有源代码管理操作。
了解解决方案和项目
Visual Studio 减少了项目文件管理和源代码管理中许多单调而复杂的操作。例如,当您在项目中添加新项时,Visual Studio 可以将其保存在存储区中的某个位置。只要文件是打开的并且按要求与项目编译在一起,就无需您来确定文件的保存位置。而在开发 Web 应用程序时,了解 Visual Studio .NET 如何在后台管理项目文件,可以为您和您的团队节省大量时间和金钱。
解决方案
无论何时从存储区中创建 Web 项目或打开现有的 Web 项目,系统都将自动创建包含该项目的解决方案。所有 Visual Studio .NET 解决方案都包含一个解决方案文件 solutionname.sln,它存储解决方案元数据,例如项目列表及其在存储区中的位置。解决方案包含另一个解决方案文件 solutionname.suo,它跟踪用户特定的信息,例如 Visual Studio 项目的默认保存位置。将解决方案添加到源代码管理时,将只添加 *.sln 文件。而且,从始至终都不会签入 *.suo 文件。
从源代码管理的角度而言,以下两个关于解决方案的重要事项值得注意。
- 解决方案是本地的。解决方案和 Web 项目文件存储在不同的位置。与 Web 项目的文件项不同,解决方案文件永远不会存储在 Web 服务器上,除非您刻意将其存放在 Web 服务器上(建议您不要这样做)。Web 项目文件(.vbproj 和 .csproj)驻留在 Web 服务器上,而解决方案文件(.sln 和 .suo)以及 Solution Items(解决方案项)文件夹中的所有文件项在默认情况下都存储在文件系统文件夹中。这一点非常重要,因为它会影响源代码管理的 Web 项目的结构和可管理性。
- 创建解决方案,而不是项目。通过先创建一个解决方案,然后再添加项目,您可以在存储区中维护解决方案及其项目之间的逻辑父子关系。这样做可以确保多项目解决方案中从属项目的可搜索性,还有助于避免一些易混淆的问题,这些问题可能会伴随一些更复杂的源代码管理操作而出现,例如分支与合并。
- 项目
在管理文件方面,Visual Studio .NET 只包含两类项目:Web 和非 Web 项目(即本地项目)。
Web 项目
-
在 New Project(新建项目)对话框的 HTTP 位置创建的所有项目。这些项目主要用于向 Web 浏览器(即被称为 Web 应用程序的项目)提供内容,还可以在开发人员需要在
服务器 (Web Services) 之间共享数据时使用。
本地项目
-
在非 HTTP 位置创建的所有项目(例如,C:/MyProjects 或 //MyComputer/MyProjects)。最常见的本地项目用于创建
Windows 应用程序。
与解决方案文件 *.sln 一样,所有项目都包含一个项目文件,用于标识其各项在计算机文件系统中的物理位置。例如,当您向 Visual Basic ASP.NET 项目添加文本文件时,其相对路径将被插入到项目文件 (*.vbproj) 中。 Web 项目 ASP.NET Web 项目是一种快速应用程序开发 (RAD) 模板,适用于基于 Web 的瘦客户机应用程序。在 ASP.NET Web 应用程序中,Web 窗体页通过浏览器向用户提供信息,并使用服务器代码实现应用程序逻辑。Web 应用程序是围绕 ASP.NET 建立的,ASP.NET 是一个平台,包含在 Web 服务器上开发和运行应用程序所需的设计时对象和控件以及运行时执行环境。 管理源代码管理下的 Web 项目时,需要注意以下事项:
- 使用 Visual Studio .NET 执行所有可用的源代码管理操作。
- 不要以手动方式对文件强制进行源代码管理。使用 Add to Source Control(添加到源代码管理)或 Check In(签入)命令时,所有应由源代码管理的文件都将自动被存放在那里。
访问方法 Visual Studio 通过以下两种方法之一访问和管理 Web 服务器上的文件:文件共享,这是 Visual Studio .NET 中的新功能;或 FrontPage,它已经在 Visual InterDev 中使用。默认情况下,使用新增的文件共享访问方法。
文件共享
-
Visual Studio 使用基于 Windows 的
文件管理命令访问 Web 项目文件。文件共享是默认的 Web 访问方法,它为源代码管理提供良好的支持。
FrontPage
-
所有文件都使用 HTTP
协议进行管理。来自 Visual Studio 的源代码管理请求通过 FrontPage
Server Extensions 被转发到源代码管理提供程序(例如 Visual SourceSafe)的服务器安装。FrontPage 访问方法支持的源代码管理命令比文件共享访问方法支持的命令要少。
-
项目文件
与本地项目不同,Web 项目不能包含其项目目录以外的文件项。将现有文件添加到 Web 项目时,Visual Studio 通过将文件复制到 virtual application root(虚拟应用程序根,Web 服务器上的一个目录,所有项目项和生成输出都存储在这里),从而将其包含在项目中。
配置文件
Web.config 文件是一种特殊的应用程序配置文件,可以在设计应用程序时定义其设置。部署之后,无需关闭 Web 服务器即可更改这些设置。多个名为 Web.config 的配置文件可以出现在 ASP.NET Web 应用程序服务器的多个目录中。每个 Web.config 文件都将配置设置(例如 IIS 身份验证设置)应用到其自身目录的源文件中。
您可以在 Web 项目中创建自定义配置文件,覆盖默认的 Web.config 文件(例如,mysettings.config)中的设置。在团队开发环境中工作时,有时候需要创建此类文件。对于 Web 项目,Web.config 是唯一要添加到源代码管理的 *.config 文件。
不进行源代码管理的文件
Projectname.vbproj.webinfo 是特殊的项目文件,用于记录虚拟应用程序根。由于每个用户的项目工作副本必须包含其自身的虚拟应用程序根,因此 *.webinfo 文件不会出现在 Solution Explorer(解决方案资源管理器)中,也不会被添加到源代码管理。因此,如果您分配了 *.webinfo 文件,则每个开发人员的更改都将在没有事先警告的情况下保存到您的个人文件之上。
除 webinfo 文件外,Visual Studio .NET 也不会向源代码管理添加特定的项目文件。大多数排除的文件都包含不能共享的用户特定的设置。与 *.suo 文件一样,下列 Web 项目文件也不应添加到源代码管理:
- 生成输出
- *.vbproj.user、*.csproj.user
- *.vbproj.webinfo、*.csproj.webinfo
- *.scc、.vspscc、.vssscc 等等。
- 包含可覆盖标准 Web.config 文件的用户设置的所有配置文件。
- 默认情况下在 Solution Explorer(解决方案资源管理器)中隐藏的所有文件(aspx.vb 和 aspx.resx 文件除外)。
-
出自:http://www.qqread.com/soft-engineering/i658129102_3.html
|