在IIS中用Web应用程序项目创建子与项目
问题
项目开发至今,需求越来越多,文件也越来越多。当初前后台页面开发是在同一个Web应用项目里进行,之后后台程序发布频繁,而前台功能还未完成,导致发布尴尬的问题。排除架构上的缺陷,这个问题可以用另一种方式来解决---在主Web项目中建立子项目。
为什么要使用子项目?
在Visual Studio中用子项目结构管理包含成千上万个文件的大Web应用项目,可以提供几大益处:在开发时,子项目结构为不同的Web应用提供了清晰的分离。这也使得不同的开发人员可以建立自己的Web应用项目成为可能,并且不同的Web应用项目改变互不影响。
另外,使用分项目提供了一个清晰划分功能的方式 ,使应用程序的不同部分可以独立的开发。同时这中划分也可以独立的部署各个子项目到生产环境, 从而在不影响其他应用部分情况下增量更新提供了更大的灵活性。
在IIS中建立根项目
接下来一步一步演示如何建立一个基于IIS开发的包含子项目结构的项目。在Visual Studio 2005中建立分项目结构相当简单。如果你在Visual Studio 2003中使用过,以下的过程与之非常类似。
1)下载并安装"Web Application Projects"扩展,扩展程序可以从以下位置下载安装
http://msdn.microsoft.com/asp.net/reference/infrastructure/wap/default.aspx
2) 创建根项目。我们首先要做的就是创建一个新的Web应用程序项目,该程序将显示在IIS应用程序根目录下。要做到这一点,请选择 “文件“ > ”新建项目“。选择ASP.NET Web应用程序项目,并键入根项目名称和存放位置。在本例中,我们命名根项目为”MyLargeWebApp“。确保“创建解决方案的目录”复选框被选中。我们可以把根项目放在IIS的默认目录“inetpub/wwwroot”下,或者其他任何您希望创建虚拟根目录的位置。在本例子中,我们放在“Inetpub / Wwwroot”目录下。
3) 下一步是在项目属性“Web”选项里把”MyLargeWebApp"项目映射到IIS上。在根项目节点上点击右键并选择“Propreties”。在开启的属性页中点击“Web"项,并选择”Use IIS Web Server"选项。
4) 接下来,您需要在IIS中创建虚拟目录映射指向根项目所在的位置。要做到这一点,请点击该属性页面上的“Create Virtual Directory”按钮。
5) 现在你可以在default.aspx页面上添加一些内容,并按F5测试下你的根项目。这时会启动IE并从IIS服务中获得Default.aspx页面。
在根项目中创建子项目
根项目一旦启动并运行良好,下一步是创建一个分项目,并设定为根项目的一部分进行编译和运行。以下步骤描述如何做到这一点:
1)你首先需要做的就是同一个解决方案中添加一个新的Web应用项目。请确保MyLargeWebApp解决方案/项目已在解决方案资源管理器打开。要添加一个新项目到该解决方案,选择“文件 ”> 添加>“新建项目”。选择“ASP.NET Web应用程序”为模板。然后键入分项目名称(在本例为“SubProject1”),并将其放置在根项目文件夹下(c:\ inetpub \ wwwroot的\ MyLargeWebApp这个例子)。(注:可以在解决方案根节点上,点击右键“添加新项目”,)
2)你现在的解决方案中有两个项目,他们只代表一个ASP.NET应用程序。为了验证这一点,到IIS管理控制台, 选择开始 “> 运行 ”> 在Windows中键入Inetmgr。 在管理控制台,您可以看到在MyLargeWebApp网站下有一个“SubProject1“文件夹。
3)为了让子项目编译和运行,需要在Visual Studio中操作几个步骤。首先删除子项目web.config文件。
4)接下来,你需要调整一些子项目的项目属性。右键单击子项目在解决方案资源管理器节点,选择“属性”。 在“编译”页面更改“生成输出路径”到“.. \bin\”。(注:..表示到根目录,即指向了根项目的目录)
5)最后,在子项目的属性“Web”页,选择“使用IIS Web服务器”选项“,更改“项目网址”为“http://localhost/MyLargeWebApp/SubProject1。”,还要检查“覆盖应用程序根目录的URL“,提供的URL根项目,在这种情况下是”http://localhost/MyLargeWebApp/“。不要单击“创建子虚拟目录”按钮,因为你并不是在子项目文件夹中创建另一个IIS应用程序根。
6)一旦您更新子项目这些特性,子项目已准备就绪。添加一些内容到子项目的Default.aspx页 , 然后按下F5键。这时编辑子项目,部署其DLL文件到根项目\ bin文件夹下,然后运行该页面。如果您在解决方案资源管理器选择根项目和“显示所有文件”,你将看到它的\ bin文件夹中 , 有两个部署程序集,为根项目(MyLargeWebApp.dll)和一个子项目(SubProject1.dll)。
摘要
结束了关于子项目第一篇文章。希望它提供了关于如何设置使用Web应用程序项目添加为Visual Studio 2005中的一个子项目结构的快速介绍。
正如我开始所说,子项目是一个很好的把一个大的ASP.NET应用程序 划分为若干个Visual Studio项目方式, 使得你可以独立开发和部署。
原文:http://blogs.msdn.com/webdevtools/archive/2006/07/01/652986.aspx