Asp.Net Core 學習教程1、初始.Net Core與VS Code 第一個web程式

来源:https://www.cnblogs.com/w5942066/archive/2020/01/15/12195984.html
-Advertisement-
Play Games

1、.Net Core介紹 .NET Core是.NET Framework的新一代版本, 是微軟開發的第一個具有跨平臺(Windows、Macosx、Linux) 能力的應用程式開發框架,未來也將會支持FreeBSD與Alpine平臺,是微軟在一開始發展時就開源的軟體平臺,它也經常被拿來和現有的開 ...


1、.Net Core介紹

    .NET Core是.NET Framework的新一代版本, 是微軟開發的第一個具有跨平臺(Windows、Macosx、Linux) 能力的應用程式開發框架,未來也將會支持FreeBSD與Alpine平臺,是微軟在一開始發展時就開源的軟體平臺,它也經常被拿來和現有的開源NET平臺Mono比較。
    由於.NET Core的開發目標是跨平臺的.NET平臺,因此.NET Core會包含.NET Framework的類庫。與.NET Framework不同的是,.NET Core 採用包化(Packages) 的管理方式,應用程式只需獲取需要的組件即可。與.NET Framework大包式安裝的做法截然不同,並且各包亦有獨立的版本線,不再硬性要求應用程式跟隨主線版本。

2、.Net Core跨平臺

.Net Core 擁有跨平臺能力,並支持多種系統,讓我們開大的程式可以在多個系統中運行。.Net支持的操作系統:Windows 客戶端、Windows 服務端、Debian、Red Hat Enterpise Linux、 Fedora、 Ubuntu、 Linux Mint、 OpenSUSE、 Oracle Linux、 CentOS、 Mac OSX

3、 .Net Core SDK 下載安裝

下載鏈接  點擊就下載了3.0.1.00 也可以去管網下載 https://dotnet.microsoft.com/download

下載下來微軟的就是傻瓜式安裝,位置就預設了裝在C盤了,下一步下一步就好了 哈哈。安裝好了 win+R 輸入cmd 打開命令提示符輸入 dotnet --info 看到下麵的信息就證明安裝好了

 4、 dotnet命令

一般的命令在命令提示符裡面直接輸入dotnet -all 查看

 

 比如新建一個項目 它提示了是 new 怎麼搞呢? 不知道就是在來一次 dotnet new -all 可以看到很多創建的命令 都有提示  表頭的意思: 模板、短名稱、語言、標記 下麵創建一個控制台應用程式 

進入文件夾的命令自己搜吧 創建控制台應用程式是dotnet new console -n 名稱     後面要接語言的話後面加上 -lang f#這樣

 

 運行 dotnet run 的時候先要進去到創建項目的文件夾裡面  其他命令有興趣的自己試試   感覺跟git一樣 哈哈。

 5、在VS Code中創建.Net Core項目

 VS codel下載地址:https://code.visualstudio.com/download      根據版本選擇自己的下載 我的是Windows 當然安裝過VSCode 的就忽略這一步。安裝好了打開安裝插件 快捷鍵(Ctrl+Shift+X)或者點擊左上一排的倒數第二個按鈕 搜索 C#(包括語法高亮顯示、智能感知、定義、查找所有引用等。調試支持。網路核心(CoreCLR)。) 安裝一下 ,一般語言都是中文的 可能有的是英文的就還要安裝一個簡體中文包Chinese (Simplified) 。安裝好了重啟VS Code。

  接下來用dotnet new 創建一個.Net Core web程式  ,輸入了命令要稍等一下 ,有點慢 (可能我的機子慢 0.0)。 創建好了 命令進入創建的文件夾WebFirst 輸入code . 用VScode快速打開,並載入當前目錄。你也可以打開VS Code左上角打開文件夾來完成這一部操作。

 

 

 首次打開的時候會提示我們添加VS Code配置文件,選擇Yes就好了,等出現.vscode文件夾後就可以開發、調試程式了。按F5或者菜單:調試->啟動調試啟動項目  出現錯誤咯

  遇到問題不要慌 看看 。這是因為net core2.1預設使用的https,如果使用Kestrel web伺服器的話沒有安裝證書就會報這個錯。其實仔細看他的錯誤提示,其中有一句叫你執行一個命令安裝證書的語句: dotnet dev-certs https --trust 

 安裝就是了  這是啟動就瀏覽器就出現了 Hello Word!好熟悉的感覺  你要相信這是真的 這就是.Net Core 的一個程式。神奇吧。

5.1關於 VS Code C#插件配置介紹

使用VS Code打開.Net Core 項目文件夾後悔根據提示生成VS Code所需要的的配置文件,就是剛纔說的C#配置文件。在.vscode文件夾下麵有兩個文件 :launch.json和tasks.json。tasks.json是用於配置執行那些命令行命令來構建項目,launch.json配置需要使用的調試器的類型。有了這兩個文件 VS Code就知道如何構建調式了。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/Co.csproj",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "problemMatcher": "$msCompile"
        },
        {
            "label": "publish",
            "command": "dotnet",
            "type": "process",
            "args": [
                "publish",
                "${workspaceFolder}/Co.csproj",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "problemMatcher": "$msCompile"
        },
        {
            "label": "watch",
            "command": "dotnet",
            "type": "process",
            "args": [
                "watch",
                "run",
                "${workspaceFolder}/Co.csproj",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}

 節點介紹:

command節點在這裡表示使用dotnet命令;

args 在這裡是參數對應路徑dotnet.csproj 及build

結合起來就相當於指向了dotnet build 路徑\dotnet.csproj

{
   // Use IntelliSense to find out which attributes exist for C# debugging
   // Use hover for the description of the existing attributes
   // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
   "version": "0.2.0",
   "configurations": [
        {
            "name": ".NET Core Launch (web)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            // If you have changed target frameworks, make sure to update the program path.
            "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/Co.dll",
            "args": [],
            "cwd": "${workspaceFolder}",
            "stopAtEntry": false,
            // Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
            "serverReadyAction": {
                "action": "openExternally",
                "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)"                
            },
            "env": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "sourceFileMap": {
                "/Views": "${workspaceFolder}/Views"
            }
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }
    ]
}

 節點介紹:(這裡主要是configurations節點下)

program: 這裡表示程式build以後生成的dll,預設是bin\Debug\框架\項目名稱.dll

args:用樣式參數,這個參數可以傳遞到程式里

cwd:代碼的目錄

  訪問的時候是https不信的試試看,要改成http。打開Properties/launchSettings.json文件

{
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:22028",
      "sslPort": 44383
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "WebFirst": {
      "commandName": "Project",
      "launchBrowser": true,
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

 

iisSettings、profiles.helloweb配置節點都有啟動綁定配置,因為VS Code啟動項目預設是不通過IIS來host的,iisSettings選項我們忽略就可以了。將applicationUrl修改為http://localhost:5001 重啟就看到了是http協議了

5.2項目結構說明:

 

 

 

 

 

.vscode目錄:VS Code項目配置目錄,相當於.vs、.idea文件夾;

bin:編譯輸出目錄;

obj:編譯配置與中間目錄,用於存放編譯配置與編譯中間結果;

Properties:用於存放項目配置;

wwwroot:存放靜態文件(JS,css,img等);

WebFirst.csproj:項目描述文件;

Program.cs文件:應用程式入口類文件

Startup.cs文件:ASP.NET Core Web應用啟動類文件,用於項目啟動前進行相關配置

 6、總結

現在大致已經會在VS Code建一個.Net Core應用程式了,我門的目的不是這麼簡單,接下來就是在VS 2017 裡面開始學習 Asp.Net Core 了(Asp.Net Core ==.Net Core ??),重點介紹一下Program.csStartup.cs這兩個文件,我覺得現在不知道他們是什麼意思沒事 接下來慢慢學吧只有知道了就好寫程式了吧。哪裡不對的多多指教^_^

本文鏈接 https://www.cnblogs.com/w5942066/p/12195984.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 微信公眾號: "Dotnet9" ,網站: "Dotnet9" ,問題或建議: "請網站留言" , 如果對您有所幫助: "歡迎贊賞" 。 .NET CORE(C ) WPF簡單菜單MVVM綁定 閱讀導航 1. 本文背景 2. 代碼實現 3. 本文參考 4. 源碼 1. 本文背景 WPF中垂直導航菜單 ...
  • 第一步:打開IIS,在打開的IIS中,右擊 “Default Web Site”,在彈出對話框中選擇“新增應用程式”,參照如下圖,設置相應參數。 第二步:在已經發佈的項目文件系統添加在站點下後,點擊項目名稱,如下圖在右側點擊設定,在彈出對話框參照下圖繼續配置相關屬性和參數。 第三步:新增程式集。如下 ...
  • 1.Install-package MouseKeyHook 2. using Gma.System.MouseKeyHook; using System; namespace ConsoleApp1 { public class MonitorHelper { public static void ...
  • 第一步:在打開的VS2015中,右擊項目,在彈出的對話框中,點擊“發佈”。 第二步:配置發佈的WEB項目。 1.為要發佈的項目起個名稱,一般和項目名稱相同。 2.選擇以文件系統發佈。 3.設置相關配置。 第三步:發佈預覽,點擊“發佈”按鈕,會在設定的目錄下,生成發佈的打包文件。 ...
  • 概述 ScheduleMaster 是一個開源的分散式任務調度系統,它基於Asp.Net Core平臺構建,支持跨平臺多節點部署運行。 它的項目主頁在這裡: "https://github.com/hey hoho/ScheduleMasterCore" 關於它的簡單介紹可以看這裡: "https: ...
  • 在寫了很多年.NET程式之後,年長的猿類在面對非同步編程時,仍不時會犯下致命錯誤,乃至被拖出去殺了祭天。本篇就async/await中的Exception處理進行討論,為種族的繁衍生息做出貢獻……處理async/await中的Exception,最致命的莫過於想抓的Exception抓不到,程式崩的莫 ...
  • 本次主要採用Asp.net core3.1來實現API服務(優勢:跨平臺),其中此技術比較新穎,其中連接Oracle遇到各種困難(特別是資料較少,各個插件版本比較多,且依賴的版本也有要求),經過各種嘗試,最終可以連接上Oracle資料庫,此處僅僅是demo。 ...
  • 1、傳多個參數 介面定義:(ResponseFormat與RequestFormat分別將相應參數序列化、請求參數反序列化) [OperationContract] [WebInvoke(UriTemplate = "api/fun2", Method = "POST", BodyStyle = W ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...