『天道酬勤』


宠辱不惊,看庭前花开花落.去留无意,望天外云卷云舒.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VS.NET中的Web项目和源代码管理集成方案(2)

Posted on 2007-11-19 20:32  咣咣咣  阅读(280)  评论(0编辑  收藏  举报
访问方法

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 文件除外)。

Web 引用、Web 项目和源代码管理集成

“Web 引用”是生成的代理类,表示已部署的 XML Web service 所提供的功能。在 ASP.NET Web 项目中,URL 代表 Web 引用,它既可以是静态的,也可以是动态的。Web 引用 URL 属性的默认值是静态的。在团队中部署 Web 应用程序时,某些情况下需要将此属性更改为动态。对于那些使用源代码管理并且开发包含 ASP.NET Web 应用程序和 Web service 项目的解决方案的团队,建议使用动态 URL。在某些情况下,Web 引用可能对一个用户有效,而对另一个用户无效。如果出现这种情况,您可以使用配置文件在个人配置文件中定义并存储这些共享资源的相对路径。

建立源代码管理策略

源代码管理正如一种工具,以软件开发的方式进行工作。它可以使并行开发变得更加容易,还可以实现开发隔离,但是它并不能确保实现这两个功能。一个团队只有通过建立策略并坚持执行,才能发掘出源代码管理的最大潜力。开发 Web 项目的策略时,您必须从以下各类中选择一种工作方法:

本地主机与远程主机
讨论本地主机与远程主机文件共享 Web 项目之间的重要区别。
Web 访问方法
定义并比较 FrontPage 和文件共享访问方法。
共享签出
实现禁用独占签出模式的环境,以便开发人员能够同时编辑相同的文件。
本地主机与远程主机

在团队开发环境中,最初保存文件共享 Web 项目的位置至关重要。如果将 Web 项目的工作副本保存到 http://localhost 的子目录,则该 Web 项目将被看作“本地主机项目”。如果将其工作副本保存到非“本地主机”的位置(例如 http://teamserver/webapplication1),则该项目被看作“远程主机项目”。

本地主机项目在本地进行调试。远程主机项目进行远程调试。但是在您调试远程主机 Web 项目之前,必须让该计算机 Administrators 组的成员授予您 Debugger User 权限。

在 Visual Studio .NET 中,Http://localhost 是 Web 项目的默认位置,也是推荐位置。出现下列情况之一时,您需要将项目的工作副本保存到远程主机位置:

◆您的个人计算机不能用作 IIS Web 服务器。

◆您需要在生产服务器上执行预部署测试和调试。