17

可能重複:
ASP.NET: Web Site or Web Application?ASP.NET Web站點或Web項目

當建立在Visual Studio中新的ASP.NET項目,我應該選擇創建:網站或項目?

我明白,Web應用程序項目是在VS 2003當天做到的方式,但它今天仍然適用嗎?什麼是使用一個在另一個的警告?

+0

請記住Web項目最引人注目的特性之一:[SVN集成](http://stackoverflow.com/questions/279/aspnet-visual-studio-and-subversion-how-to-integrate),這對網站來說根本不可能。 – 2008-08-14 08:19:36

回答

26

有一個pretty good comparison chart on MSDN

網站項目很簡單,因爲所有添加到項目文件夾中的文件都會自動編譯幷包含在內,這應該是爲了讓傳統ASP和PHP開發人員更容易接受而添加的。一旦好處是它包含構建提供程序,這些提供程序允許將某些操作與文件類型相關聯 - 這就是當您將.abp文件添加到網站時,第一版SubSonic將重建數據訪問層的方式。

但是,Web應用程序項目更加靈活。例如,網站項目中的所有類庫都需要位於App_Code文件夾中,這在複雜的應用程序中令人沮喪。有很多場景對於網站項目不起作用。

你可以從一個轉換到另一個,但如果你不確定,我會建議從一個Web應用程序開始。

3

我堅決不同意Websites and Web Projects文章中的一些內容。首先,這不是任何「小」的反叛集團的開發人員 - 我認爲這是我們中的大多數人,誰也沒有被問及我們是否想要徹底改變我們開發的方式。他們當然沒有問我是否想在六週的開發時間內弄清楚他們做了什麼來打破完美的網絡服務。

這不是一些「下載」MS發佈 - 它是VS2005 SP1,他們釋放它非常該死的快。

對於無項目開發的補充,「複製項目」命令工作得很好,我們不必避免調試或項目文件;你可以移動頁面 - 如果你不使用源代碼控制;他們在哪裏獲得必須鎖定項目文件才能進行協作?他們用於源代碼管理的是什麼?

我還會在辯論中增加一個問題:網站有什麼特別的地方,他們應該是唯一沒有使用「項目」文件的「項目」類型(據我所知)?我想不出任何事情,除非微軟認爲網絡開發人員太單純瞭解項目。

當然,如果有人知道任何其他不使用項目文件的Visual Studio「項目」類型,我將不勝感激地被告知。

相關問題