『天道酬勤』


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

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

Posted on 2007-11-19 20:40  咣咣咣  阅读(410)  评论(0编辑  收藏  举报
从源代码管理打开 Web 项目解决方案时,会发生什么?

首次在 Visual Studio .NET 中从源代码管理打开文件共享 Web 项目时,会出现以下情况:

◆为解决方案文件创建了绑定。   您的提供程序要求您识别用于解决方案文件的个人工作文件夹。此操作将在源代码管理数据库中的工作文件夹和它的主控副本之间创建一个关系或绑定。根据提供程序,此过程通常包括在工作文件夹的根目录创建数据文件。这些文件的默认位置为个人 Visual Studio 项目目录。

◆解决方案文件被复制到工作文件夹。   您的源代码管理提供程序将在选定的工作文件夹中创建所有解决方案文件的工作副本。

◆设置 Web 文件的位置。   Set Project Location(设置项目位置)对话框中,提供程序将提示您标识解决方案中每个 Web 项目的个人工作文件夹。此操作将在工作文件夹和它在源代码管理服务器上的主控文件夹之间创建另一个绑定。

◆项目文件被复制到工作文件夹。   最后,源代码管理提供程序将在选定的工作文件夹中创建所有 Web 项目文件的工作副本。

一般提示、注意和指南

◆创建空白解决方案,然后将您的项目添加到其中。这样做,可以按照项目文件在源代码管理数据库(主控副本)中的组织方式在磁盘(工作副本)上组织项目文件。强制实施并行组织方案可以提高项目文件的长期可管理性,并使其更易于执行某些高级源代码管理操作,如分支和合并。

◆在同一 Web 服务器上将 ASP.NET 项目中的 Web 引用添加到 Web service 项目时,请使用绝对路径,例如 http://servername/WebService1。

◆在将项目添加到源代码管理后,请不要改变项目的 Web 访问方法。

◆首次从源代码管理打开 Web 项目时,请使用 File(文件)菜单的 Source Control(源代码管理)子菜单上的 Open From Source Control(从源代码管理打开)命令。以后,即可与任何非管理的 Web 项目一样,从本地磁盘打开项目:

  • 对于文件共享项目和 FrontPage Web 项目,请单击 File(文件),指向 Open(打开),然后单击 Project(项目)。
  • 要签出现有的源代码管理的文件共享 Web 项目,开发人员必须具有项目主控副本所驻留的 LAN 或 VPN 的访问权限。
  • 如果您要将膝上型计算机带回家在晚上使用,请务必在断开网络连接前签出要编辑的文件。千万不要通过 Visual SourceSafe 使用脱机签出。
  • 在开发 FrontPage Web 项目时,使用 Use External(使用外部)版本控制选项要优于使用 Built in(内置)选项。Use External(使用外部)可以提示 Visual Studio 将每个签入的版本保存到源代码管理数据库中,而 Built in(内置)则不提示。
  • 尽可能允许共享签出。
  • 在对包含 Web 项目的解决方案执行源代码管理操作时,如果可能,应当对整个解决方案执行此操作。例如,如果您要签出 ASP.NET Web 应用程序项目,请签出其解决方案。
  • 仅使用源代码管理提供程序的独立版本执行在 IDE 中无法完成的操作(例如,分支和合并分支)。
  • 使用动态 URL 引用。
  • 如果您的源代码管理提供程序为 Visual SourceSafe,那么只要可能,请始终使用 ANSI 编码保存 Web 页。
  • 不要将解决方案文件的工作副本存放到 IIS Web 服务器上。
  • 如果您使用 FrontPage 访问在服务器的 FAT 或 FAT32 分区上创建的 Web 应用程序,源代码管理将无法正常工作。由于 FAT 分区无法提供足够的安全环境,因此所有操作都将通过同一个访客帐户 IUSR_Machinename 来执行。这样,在您尝试执行签入或签出操作时,将导致您的文件错误地显示为以独占方式签出给了其他用户。通过在 IIS 管理工具中禁用对项目的匿名访问,可以解决这个问题,不过这种解决方法并不受支持。因此,强烈建议您将 FAT 分区转换为 NTFS 文件系统。

常见问题

用什么方法可以将我的 Web 应用程序部署到 Web?
从源代码管理获取最新版本,根据需要合并更改,签入您所做的更改,然后使用 Copy Project(复制项目)命令将所有项目文件的主控副本复制到相应的生产服务器位置。
每次项目位置发生变化时,我的团队怎样才能避免删除而后又添加项目的同一 Web 引用?
您可以将 Web 项目配置为接受动态 URL Web 引用。
在创建 Web 项目时,为什么会出现那么多对话框?为什么必须对项目位置设置两次?
您可能已经注意到,当您创建没有解决方案的新项目时,Visual Studio 将为您创建一个新的解决方案。包含 Web 项目的解决方案与包含非 Web 项目的解决方案并无差异。也就是说,它们最初都包含两个文件(solutionname.sln 和 solutionname.suo),并且在默认情况下,这两个文件被保存到磁盘上 Visual Studio 项目所在的位置。另一方面,Web 项目文件必须保存到虚拟目录中。
只要您添加两项或多项(例如,解决方案文件和项目文件),您的源代码管理提供程序就会在这些项的根目录中创建一个链接文件。如果这些项共享一个根目录,则提供程序将在最低一级的公共根目录中创建链接文件。如果这些项不共享公共根目录,例如,一些项驻留在磁盘上,而另一些项驻留在虚拟内存中,提供程序将在两个位置都创建链接文件。因此,当您将 Web 项目解决方案添加到源代码管理时,提供程序会两次提示您标识工作文件夹,一次用于标识解决方案,另一次用于标识项目。