web應用程序Default.aspx顯示有兩個原有文件及Default.aspx.cs和Default.aspx.designer.cs;Web網站Default.aspx顯示有一個原有文件Default.aspx.cs。
web應用程序有重新生成和發布兩項;Web網站只有一個發布網站。
web應用程序和一般的winform沒有什么區別都有引用的是命名空間等;Web網站在引用后出現一個bin文件夾那里存放dll和pdb文件。
web應用程序可以作為類庫被引用;Web網站則不可以作為類庫被引用。
web應用程序可以添加ASP.Net文件夾中不包括bin、App_Code;Web網站可以添加ASP.Net文件夾包括bin、App_Code。
web應用程序還可添加組件和類;Web網站則沒有。
源文件雖然都是Default.aspx.cs但是web應用程序有命名空間,多了一項System.Collections空間引用。
Web應用程序在修改了頁面底層的代碼之后需要重新進行編譯
網站不需要重新編譯
網站可以添加APS文件夾,Web應用程序不可以
Web應用程序的項目會生成Dll文件
網站在發布的時候,會自動生成Dll文件,但是每次的Dll文件名都不一樣
Web應用程序會有解決方案和項目文件,還有比較明顯的web application如果對cs文件進行修改,需要編譯才可以,而web site不需要了
在ASP.NET中,可以創建ASP.NET網站和ASP.NET應用程序,但是ASP.NET網站和ASP.NET應用程序開發過程和編譯過程是有區別的。ASP.NET應用程序主要有以下特點:
?可以將ASP.NET應用程序拆分成多個項目以方便開發,管理和維護。
可以從項目中和源代碼管理中排除一個文件或項目。
支持VSTS的Team Build方便每日構建。
可以對編譯前后的名稱,程序集等進行自定義。
對App_GlobalResources 的Resource強類支持。
WebSite:生成隨機的程序集名,需要通過插件WebDeployment才可以生成單一程序集
WebApplication:可以指定網站項目生成單一程序集,因為是獨立的程序集,所以和其他項目一樣可以指定應用程序集的名字、版本、輸出位置等信息●可以將網站拆分成多個項目以方便管理●可以從項目中和源代碼管理中排除一個文件●支持VSTS的Team Build方便每日構建●更強大的代碼檢查功能,並且檢查策略受源代碼控制●可以對編譯前后進行自己規定的處理●對App_GlobalResources 的Resource強類支持(網上說的,還沒有了解過)●直接升級使用VS2003構建的大型系統
WebSite編程模型的優點:●動態編譯該頁面,馬上可以看到效果,不用編譯整個站點(主要優勢)●同上,可以使錯誤的部分和使用的部分不相干擾(可以要求只有編譯通過才能簽入)●可以每個頁面生成一個程序集(不會采用這種方式)●可以把一個目錄當做一個Web應用來處理,直接復制文件就可以發布,不需要項目文件(無所謂,只適合小站點)●可以把頁面也編譯到程序集中(應該用不到,而且WebApplication也可以通過WebDeployment插件來實現)
兩種編程模型的互相轉換:VS2005 SP1內置了轉換程序,可以非常方便的從WebSite轉換到WebApplication
只需要復制文件,右鍵執行“轉換為Web應用程序”即可。
未查到有專門的反向轉換工具,但比較后發現如果轉換也非常簡單。刪除所有*.designer.cs
將*.aspx、*.ascx、*.master頁面文件中的 Codebehind="FileList.aspx.cs" 批量替換成 CodeFile="FileList.aspx.cs"
上面的是抄的,我比較了下還有。
直接建立網站,沒有命名空間,有幾個特殊文件夾如App_code文件夾不能直接在網站項目里建立,但可以手動添加然后包含到項目里面來。
要使用WebApplication程序 我們需要安裝 Visual Studio 2005 Team Suite CHS 補丁這樣才能把網站項目轉換成為Web應用程序. web程序同一般的程序有些不一樣,vs不必為它們建立工程(project)文件,所以也可以稱為無工程開發(projectless development),目的是可以保證站點的目錄清晰,不亂,有助於web程序最后的配置,可以完全將整個的目錄簡單的拷貝即可,因為沒有多余的文件。同時,無工程開發可以方便團隊開發,因為各自的開發文件不需要同步。在vs中同樣還有基於工程的web開發,可以稱為web工程(web projects),實際是這是以前的開發模式,存在的目的,一是可能需要遷移以前開發的web工程到vs2005下,二是有時需要在一個站點中包括多個工程,三是web工程可以靈活的處理站點的資源文件,比如大量的圖片,在開發時,可以不包含到工程中,四是如果使用MSBuild工具,則必須使用工程文件。