当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 如何为asp.net网站项目添加子项目

ASP.NET
C#教程:简化的初始化
C#教程:隐式类型的局部变量
ASP.NET 2.0教程:Bind标签和Eval标签
用C#语言获取CPU利用率
ASP.Net实例:直接在邮件中内联附件内嵌图片
ASP.NET教程:性能优化的方法
ASP.NET开发方式的四层架构的Web应用系统构造
BasicHTTP-唯一能直接与Java交互的方式
ASP.NET教程:截取字符串
如何用ASP.NET实现多附件上传?
.Net程序员必读:八个实用网站推荐
.NET环境下为网站增加IP过滤功能
在.Net框架类库中如何使用定时器类
Asp.net是可以帮你实现Urlrewrite的
.NET开发过程中易被忽视的问题
ASP.NET教程:多个Set排列算法
c# 分布式事务以及MSDTC
解决ASP.NET2.0网站中对路径访问被拒绝问题
ASP.NET通过WMI创建站点添加虚拟目录和主机头
VS 2008完美地支持JavaScript和ASP.NET AJAX

ASP.NET 中的 如何为asp.net网站项目添加子项目


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 200 ::
收藏到网摘: n/a

最近要给公司的电子商务网站添加个圈子的功能.网站功能本来就包含有新闻发布,会员管理,商品购物,后台管理等,现在又要再加上圈子的功能,网站项目越来越复杂,每次编译生成的dll超过100k.这样每次修改任何一个功能中的任何一个小问题都要上传整个dll,并导致整个website的首次访问的重新编译. 之前也曾经想过,这些功能根据不同处于项目中的不同文件夹内,比如会员的会在member,后台管理的会在admin文件夹,新闻的会在news文件夹.这样的话如果vs支持按不同文件夹生成不同dll,那我每次修改不同功能的不同文件只要上传对应的dll就可以了,不再需要上传整个website的dll.
不过想法是美好的,事实是残酷的.vs并不支持这样的功能.所以在功能直接交互和文件共享并不多的功能上,我采取了重新建立一个projects的方法,比如把后台管理剥离出来,新建一个admin的website,这个新的projects放在website的根目录下,然后修改文件编译生成dll后的目录为..\bin并且删除项目中的web.config.编译后访问,呵呵,真的可以访问了,并且达到了拆分项目的要求.倒是并不完美,还有手动修改很多设置,并且这2个项目中不能共享相同的master,和usercontrol,甚至是图片,js等,如果直接使用相对路径,那么视图模式下将不能正常显示,如果vs直接提供新建子项目的功能并能解决共享这些文件,该有多好啊.
于是通过Google,找到一篇文章http://blogs.msdn.com/webdevtools/archive/2006/07/01/652986.aspx,Creating sub-projects in IIS with Web Application Projects,不幸的是文中提到的“Web Application Projects” add-in,我Download了,but can't install!
虽然这样的应用程序我们无法制作,但是我们可以按照他的思路自己修改配置啊.
发现他的方法,跟一开始我的做法是很类似的,不过他可以共享master和user control,为什么我的不能呢?
仔细翻看了一下,发现原来他在子项目中创建了虚拟目录比如 http://localhost/group,所以之前使用~/Group.Master,只能访问本项目中的master,而现在则可以访问根目录中的master了,试试usercontrol,也可以了,呵呵,原理奥妙都在这个虚拟目录中呀.