91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在VS中新建網站和新建WEB項目有哪些區別

發布時間:2020-09-09 11:05:17 來源:億速云 閱讀:234 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關在VS中新建網站和新建WEB項目有哪些區別的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

WebApplication編程模型的優點

●網站編譯速度快,使用了增量編譯模式,僅僅只有文件被修改后,這部分才會被增量編譯進去。

●生成的程序集
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="******.aspx.cs" 批量替換成 CodeFile="******.aspx.cs"

這樣就可以轉換回來了

Scenario

Web Application Project

Web Site Project

Project definition

Visual Studio .NET 2003 類似,由于項目文件的存在,只有被項目文件所引用的文件才會在Solution Explorer中出現。而且只有這些文件才會被編譯。可以很容易的把一個ASP.NET應用拆分成多個Visual Studio項目。可以很容易的從項目中和源代碼管理中排除一個文件。

一個目錄結構就是一個WEB項目。沒有項目文件存在。這個目錄下的所有文件,都被作為項目的一部分而存在。
我們實際部署的一個網站,部署上當然不會有任何項目文件存在,如果你想對這個網站進行修改,用這種編程模型就非常適合。我們根本不用在乎這個
WEB站點中,那些文件屬于哪個項目。

編譯和生成

Visual Studio .NET 2003Web應用項目編譯模式幾乎一樣。

項目中的所有的code-behind 類文件和獨立類文件都被編譯成一個獨立應用程序集。這個應用程序集被放在Bin目錄下。因為是一個獨立的應用程序集,你能夠指定應用程序集的名字、版本、輸出位置等信息。

例如:Model-View-Controller (MVC) 模式就可以在這里很好的被使用。因為它允許在WEB頁面和WEB用戶控件中引用一個獨立的類。

編譯(Build)命令僅僅是測試這個WEB站點是否編譯正確,調試一個WEB站點項目的時候,是通過依賴你的源代碼文件,ASP.net進行動態編譯頁面和類來實現的。

預編譯站點和動態編譯站點用的是同一個 compilation semantics ,你可以通過預編譯來提高站點的性能。

ASP.net 動態編譯系統提供了兩種模型:默認的batch 編譯模型和fixed-names 編譯模型。

batch 編譯模型中,被編譯成多個應用程序集(典型的是每一個目錄被編譯成一個)。這時候你看應用程序集,很難對應上是哪個目錄。

fixed-names 編譯模型中,網站的每個頁面或者每個用戶控件被編譯成一個應用程序集。

Iterative
development

調試或者運行Web頁面的時候,你必須全部編譯整個WEB項目。

編譯整個WEB項目通常比較快,因為Visual Studio使用了增量編譯模式,僅僅只有文件被修改后,這部分才會被增量編譯進去。

你可以配置Visual Studio 2005的編譯屬性:編譯整個站點、編譯一個指定頁面、或者什么都不作。在最后一種情況下,當你運行一個WEB站點的時候,Visual Studio 僅打開一個瀏覽器,并訪問當前或者起始頁,當這個請求被發送后,ASP.net 才開始動態編譯。

這種模式下,頁面被動態編譯或者被編譯成不同應用程序集,所以如果你調試或者運行一個頁面的時候,不需要整個項目被編譯通過。有錯誤的部分跟你使用的部分可以互不干擾。

默認情況下,當你運行或調試任何WEB頁的時候,Visual Studio完全編譯Web Site項目。

這么做可以看到編譯時的所有錯誤。但是,在開發進程中,完全編譯整個站點會是相當慢的。所以推薦你在開發調試中,只編譯當前頁。

部署

因為所有的類文件被編譯成一個應用程序集,當你部署的時候,只需要把這個應用程序集和 .aspx文件、.ascx文件以及其它靜態內容文件一起部署。

這種模型下,.aspx 文件將不被編譯,當瀏覽器訪問這個頁面的時候,才會被動態編譯。

不過,如果你使用Web Deployment Projects (一個Visual Studio 2005的插件,沒有被默認包含到VS2005),你就可以把 .aspx 文件也編譯進入一個應用程序集中。

如果你只修改了小小的一行代碼,你也需要把整個項目的所有代碼都編譯,并且發布包含所有代碼的這個應用程序集。

使用Visual Studio Publish Website 命令,你可以把.aspx 文件 code-behind 文件編譯成應用程序集,所以你看到的編譯后的 .aspx 文件頭發生了變化。(注意:Build 命令并不會給你可部署的應用程序集)

最新版本的 Publish 將支持僅編譯 code-behind 文件,這樣部署的時候,將不改變 .aspx 文件。

默認是在Bin目錄下預編譯成幾個應用程序集,典型的是一個目錄對應一個應用程序集。

fixed-names 部署選項可以讓每一個WEB頁面或者每個WEB用戶控件創建一個應用程序集,這樣每個頁面都有一個可部署的應用程序集。但是,fixed-names 部署選項會增多應用程序集的個數,而且實際內存使用也會增大。

Visual Studio .NET 2003升級

因為跟VS2003采用了一樣的WEB項目開發模型,升級是非常非常簡單的。

Web site 項目的編譯選項不同導致了它跟Visual Studio .NET 2003WEB項目的極大不同。

雖然微軟提供了一個轉換向導,但是如果你的項目如果是一個復雜的VS2003項目,使用這個轉換向導后,你還需要對照轉換手冊,做很多工作。

如果你要從VS2003升級,建議不要用這種WEB站點開發模版。而是使用Web application 項目。

選擇何種WEB編程模型

Option or Task

Web Application Projects

Web Site Projects

你有一個大型的Visual Studio .NET 2003 Web應用需要遷移到VS2005

 

喜歡使用 single-page code 模型來開發網站頁面。而不是使用code-behind 模型來編寫網站頁面

 

喜歡采用下面的方式編寫網站:

 

在編寫頁面時候,為了可以快速的看到編寫效果,動態編譯該頁面,馬上可以看到效果,不用編譯整個站點。

(就是說,只需要保存文件,然后在瀏覽器中刷新一下,就可以看到自己剛剛做的效果)

需要控制編譯后應用程序集的名字

 

需要每個頁面產生一個應用程序集

 

WEB頁面或者WEB用戶控件中需要使用到單獨的類。

 

需要使用多個Project來構建一個Web應用。

 

需要處理pre-build post-build 事件(編譯前后需要有自己額外的處理)

 

希望把一個目錄當作一個WEB應用來處理,而不需要新建一個Project 文件。

 


感謝各位的閱讀!關于在VS中新建網站和新建WEB項目有哪些區別就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vs
AI

彰武县| 绵阳市| 沁源县| 子长县| 巴楚县| 康马县| 阳新县| 肥西县| 乌恰县| 高唐县| 阿拉善右旗| 印江| 谷城县| 维西| 峨边| 林口县| 邓州市| 花莲县| 辽阳市| 福州市| 海阳市| 麻城市| 望城县| 泰顺县| 突泉县| 锡林郭勒盟| 肥城市| 九江县| 高阳县| 仁布县| 青田县| 吐鲁番市| 化德县| 五华县| 容城县| 甘肃省| 台江县| 和龙市| 天水市| 泰宁县| 自治县|