之前也曾經想過,這些功能根據不同處于項目中的不同文件夾內,比如會員的會在member,后臺管理的會在admin文件夾,新聞的會在news文件夾.這樣的話如果vs支持按不同文件夾生成不同dll,那我每次修改不同功能的不同文件只要上傳對應的dll就可以了,不再需要上傳整個website的dll.
不過想法是美好的,事實是殘酷的.vs并不支持這樣的功能.所以在功能直接交互和文件共享并不多的功能上,我采取了重新建立一個projects的方法,比如把后臺管理剝離出來,新建一個admin的website,這個新的projects放在website的根目錄下,然后修改文件編譯生成dll后的目錄為../bin并且刪除項目中的web.config.編譯后訪問,呵呵,真的可以訪問了,并且達到了拆分項目的要求.倒是并不完美,還有手動修改很多設置,并且這2個項目中不能共享相同的master,和usercontrol,甚至是圖片,js等,如果直接使用相對路徑,那么視圖模式下將不能正常顯示,如果vs直接提供新建子項目的功能并能解決共享這些文件,該有多好啊.
于是通過Google,找到一篇文章,Creating sub-projects in IIS with Web Application Projects,不幸的是文中提到的“Web Application Projects” add-in,我Download了,but can't install!
雖然這樣的應用程序我們無法制作,但是我們可以按照他的思路自己修改配置啊.
發現他的方法,跟一開始我的做法是很類似的,不過他可以共享master和user control,為什么我的不能呢?
仔細翻看了一下,發現原來他在子項目中創建了虛擬目錄比如 ,所以之前使用~/Group.Master,只能訪問本項目中的master,而現在則可以訪問根目錄中的master了,試試usercontrol,也可以了,呵呵,原理奧妙都在這個虛擬目錄中呀.