初識.netCore以及如何vs2019創建項目和發布


 一:什么是.netCore

從圖上得知,.NetCore是同.NetFramework一樣也是一種框架,並且都是基於.Net Standard Library,前面我們有用過.netFramwork來開發過一些網站,控制台,winform窗體等,那.netCore 同.netFramwork有何異同或者說現在為啥說是.netcore是開發的趨勢呢?

通過有以下幾點我們來說明:

1:.netFramework我們曉得版本從1.0升級到了4.7,然后每個版本都是向前兼容的,所以后面會變得越來越繁重復雜,而且內置了很多了module,處理器等,導致一個簡單的功能,必須要經過各種不必要的處理。

2:.netFramework是依賴於IIS,web是必須要部署到IIS,即宿主服務器必須是windows服務器,沒有辦法做到跨平台,導致服務器資源有了限制。

3:.netFramework版本從4.7左右,微軟已經停止了維護,就是版本不在做升級了,重新創建了.netCore框架,.netcore比較輕便,靈活;而且自帶了一個跨平台的服務器,所以去除了對於IIS的依賴,能夠更好的跨平台。

 

二:.netCore跟.netFramework簡單比較認識

我們以簡單的控制台來對比分析,首先我們創建兩個項目,一個是.netFramwork為Test.Framework.Console,一個是.netCore為Test.Core.Project,分別如下:

對比發現,有以下不同:

1:.netFramwork對應的dll都放在引用下面,而core對應的dll都放在SDK

2:framework有app.config是xml,而core是沒有的,其實core的配置文件是json文件,在編譯生成的時候會看到。

3:兩者都可以NuGet,但是framework的nuGet引用的類都是放在packages.config中,而core是直接放在Nuget文件夾下面的。

4:查看編譯后的bin文件夾發現,framework是直接生成exe直接運行文件,而core是沒有的。

core編譯后的文件,然后服務器運行必須命令行啟動,可以放在windows或者linux服務器上面:

framework編譯后的文件,然后服務器運行直接點擊exe執行程序,但是僅僅是放在windows服務器上面:

三:在 Visual Studio 2019 中創建新的 ASP.NET Core 項目

步驟 1:在 Visual Studio 2019 中創建新的 asp.net Core 項目

步驟 2:在 Visual Studio 中單擊**“創建新項目”**。

第 3 步:在“創建”對話框中,右側菜單欄“語言”下選擇“C#”,然后點擊**“ASP.NET Core Web 應用程序”**

3 2 1

第 4 步:在配置新項目菜單欄中,鍵入項目的名稱。我將其命名為StudentManagement。 我們將創建一個 asp.net core web 應用程序,在這個程序中,我們將創建、讀取、更新、刪除學生。

第 5 步:另外,指定要創建此項目的位置。我將把我的項目放在,路徑為,C:\Projects\source\repos 文件夾中。

第 6 步:點擊創建按鈕。

3 2 2

第 7 步: 在下一個屏幕上,選擇 ASP.NET Core 2.2(可用的最新.NET Core SDK)

 3 2 3

第 8 步:取消選中“為 HTTPS 配置”復選框 ,如上圖所示,關閉身份驗證。即一個完整的asp.netcore已經創建完成

 

四:創建asp.netcore時,vs會給我們提供一些模板創建,詳情見第7步,下面主要介紹這些模板。

4.1》空:名稱暗示的“空”模板不包含任何內容。這是我們將使用的模板,並從頭開始手動設置所有內容,以便我們清楚地了解不同部分如何組合在一起。

 

4.2》API:此模板包含創建 ASP.NET Core RESTful HTTP 服務所需的一切

注意:API 不需要所有網站特定的內容,如 JavaScript 文件,CSS 文件,視圖文件,布局文件,因為它沒有用戶界面。Web API 公開的數據通常由其他應用程序使用,可以簡單的理解為 程序和程序之間打交道。

因此,API 模板只會創建Controllers文件夾。它不會創建 Models 和 Views文件夾,因為它們不是 API 所必需的。下面截圖顯示了我使用 API 模板創建的項目。請注意,我們只有Controllers文件夾。我們沒有 RESTful API 不需要的所有 JavaScript,CSS 和布局文件。

3 2 5

4.3》Web 應用程序:此模板使用新的用於構建 Web 應用程序的 RazorPages 框架。使用 Razor 頁面,編寫以頁面為中心的場景更容易,更高效。當我們不想要 ASP.NET MVC 的完整復雜性時,我們通常使用這種方法。我們可以將其視為 MVC 框架的更薄版本。我們將在即將發布的視頻中詳細討論 RazorPages。

 

4.4》Web 應用程序(模型視圖控制器):此模板包含創建 Model,視圖(Views)和控制器文件夾並添加 Web 特定的內容,如 CSS,JavaScript 文件,布局文件和網站所需的其他資源,也可以基於此模板創建 Restful 風格的 HTTP 服務。

下面的截圖顯示了我使用Web應用程序(模型視圖控制器)創建的項目。請注意,我們有Modes,Views 和 Controllers 文件夾。在 Views 文件夾中,我們有示例視圖文件和布局文件,它們代表 Web 應用程序的用戶界面。我們還有 Web 應用程序通常需要的 JavaScript 和 CSS 文件。

3 2 4

 

4.5》Razor 類庫(RCL):顧名思義,我們使用此模板創建可復用的 Razor 類庫項目。該項目包含所有可復用的用戶界面部分,如數據模型,頁面模型,控制器,頁面,Razor 視圖和 View 組件。然后,可以在多個應用程序中復用此 Razor 類庫(RCL)項目。任何使用 RCL 的應用程序都可以覆蓋它包含的視圖和頁面。我們將在后面發布的視頻中討論 RCL。

4.6》Angular,React.js,React.js 和 Redux:這三個模板允許我們與 Angular,React 或 React 和 Redux 一起創建 asp.net Core Web 應用程序。

五:vs2019如何發布netcore項目

按照第四條,然后創建了一個Web 應用程序(模型視圖控制器)如下:

現在我們來看一下如何發布:

1:選中Test.Core.MVC,然后右鍵選擇發布,會彈出如下圖,選擇文件夾發布,然后選擇要發布的文件地址,可以點擊高級進行一些設置如下,目標框架可以選擇對應的版本,然后目標運行時是可移植:

2:點擊發布,然后再發布的時候會檢查是否有編譯錯誤,如果沒有問題,會在控制台中輸出如下:

3:打開發布的文件夾E:/wss/publish會得到如下圖

 

 

 以上幾個步驟則完整了整個發布,下面介紹如果把發布的文件部署在IIS上面。

六:IIS上面部署netcore項目

1:打開iis,然后選擇網站,右鍵添加:

注意:物理路徑一定要選擇對,我之前運行一直是404,發現是物理路徑填寫有問題,我是直接打開文件夾,然后把地址貼上去的,然后出現跟iis物理路徑斜杠不一致,截下圖僅供參考:

2:選擇網站上面的【應用程序池】,然后找到Test.Core

3:選中右鍵選擇基本設置如下圖,然后點擊確定

 

 然后瀏覽器輸入http://localhost:8050/(上面截圖的端口號有時候為了截圖而出現不一致,以實際添加網站的端口號為主)則出現下面頁面,至此整個發布完成了。

 

注意:之前網上看到很多小伙伴發不完遇到了500.19,這是因為目錄訪問權限的限制,可以設置一下文件夾的訪問權限!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM