內容面板收納
適合採用 Web應用程式專案(Project)的情況包括:
您想要在 “不”停止偵錯工作階段的情況下編輯程式碼。
您想要針對程式碼執行單元測試(Unit Test),而且程式碼位於與 ASP.NET網頁相關聯的類別(Class)檔案中。
您想要參考與獨立類別中之頁面和使用者控制項(UC,User Control)相關聯的類別。
您要建立 “多個” Web專案(Project)之間的專案相依性。
您想用編譯器將整個網站建立成單一組件(編譯成一個 .DLL檔案,放在 /bin目錄下)。
您要控制所產生之網站的組件名稱和版本號碼。
您想要使用 MSBuild或 Team Build來編譯專案。例如,您可能想要加入建置前後的步驟。
您想要避免將原始程式碼放在實際上線執行的 Web伺服器上(編譯成一個 .DLL檔案之後,後置程式碼可以不公開,只留 .aspx檔案即可)。
您想要使用 Visual Studio所提供的 “自動化部署”工具。
適合採用網站(WebSite)的情況包括:
您想要同時在單一 WebSite中,”同時”包含 C#和 Visual Basic程式碼的網頁與程式(根據預設,Web 應用程式"專案"會根據專案檔中的語言設定進行編譯。雖然可建立例外狀況,不過相當困難)。
您想要在 Visual Studio中,直接開啟「實際上線的 Web網站」並且使用 FTP進行即時更新。
您 “不”想要明確編譯專案(不想編譯成一個 .DLL檔案),以便進行部署。
如果您「預先編譯」網站,您希望編譯器為網站建立多個組件 (可能是每個網頁或使用者控制項各一個組件,或每個資料夾各一個或多個組件)。
您希望能夠以 “複製”的方式,將新版本更新至實際上線的 Web伺服器,或直接在實際執行的 Web伺服器上,以「編輯檔案(直接動手改程式碼)」的方式直接更新 “個別”的檔案。
如果您「預先編譯」網站,您想要更新 “個別” ASP.NET網頁(.aspx檔),而不需要重新編譯整個網站。
您想要在實際上線的 Web伺服器上面,保留另一份原始程式碼,因為它可以做為額外的備份複本。