我们的网站已经变得非常庞大,并且是Visual Studio中的管理噩梦,我们需要将它分解为单独的项目。目前在一个主项目中有数百个页面,我们希望通过功能区域将其分开,每个功能区域位于IIS中根网站下的自己的虚拟目录下。我们想象的是:
http://mainsite/
http://mainsite/accounts/
http://mainsite/requests/
http://mainsite/approvals/
http://mainsite/applications/
等等,每个虚拟目录映射到自己的项目:accounts.csproj等。根网站将处理登录和登录页面,但仅此而已。
今天,单个项目和共享库的布局类似(可能看起来很奇怪,因为我将一些项目排除在外):
Solution 'MainWebsite' (20 projects)
+ Common
Common.csproj
CommonThings.cs
+ Packages
UserPackage.csproj // Used by requests, approvals, and user mgmt alike
AccountPackage.csproj // Also used by more than just the accounts sub-site
+ Website
MainWebsite.csproj // Maps to the root in IIS
+ CSS
(Common CSS files)
+ ErrorPages
(Common Error pages)
+ Accounts
AccountMgmt.aspx
Web.config
+ Applications
AppMgmt.aspx
Web.config
+ Approvals
Approvals.aspx
Web.config
+ Requests
Requests.aspx
Web.config
-----------
Main.master
Default.aspx
Web.config
在分享公共元素(CSS文件,错误页面等)的同时拆分主项目网站的好方法是什么?田园诗般的要求包括:
http://localhost/
)/bin/
目录,我们不关心每个站点是否有相同的DLL副本 - 不是问题)我不认为这是一件不合理的事情,但也没有共享母版页:(建议?