跳到主要內容

開個 dotnet core 3.1 的專案來玩看看吧

 前面篇幅將 dotnet core sdk 及 Vs Code 安裝以後,就可以開始進行後續開發了

在上一次我使用 dotnet core 2.2 的版本,嘗試開發 web api 的應用程式, 後來因為客戶端工程師不熟悉管理區的配置,還有要在客戶端電腦安裝 runtime 程式,我只好再使用  .net framework 寫 web api 的,順便上手JWT 的使用


這次使用 dotnet core 3.1 ,發現裡面的眉眉角角(坑....),其實蠻多的,但是也支援了新的專案類型,例如 WPF、Razor Page,以及原先的 console及 asp.net core web app、web api



第一個 3.1 練習不想踩到太大的坑,以免創傷恢復期太久,所以先使用 sdk 指令建置一個新的 console 類型專案

先來一個新增專案的sdk 命令

專案資料夾\dotnet new project_type


就這樣, Console 專案就建立好了  dotnet new console

專案建好以後,當然就是IDE出場的時刻,這回一樣也是用 VS Code 做開發


在vs code 的環境,是透過開啟資料夾的方式將剛才建立的專案資料夾開啟

在console裡面,會看到熟悉的 Hello World

因為想要保留執行結果,不要讓程式執行後跳離,我再自己增加 Console.Read();  接著就大力的按下F5 讓程式多跑一下.......


等等, 好像少了一樣東西,VsCode 在匯入專案以後有一個步驟很重要,就是建立 Launch.json 檔案,這邊如果漏掉,按「F5」是不會執行的

點選左邊的動作清單,選擇小蟲的按鈕,然後建立launch.json檔

選擇 .NET Core Launch,會自動加入VS Code 的編譯執行範本


這時可以大力按下 「F5」,讓程式跑一下了

最後輸出 Hello World! ,是說這配色怪怪的,但沒關係,改天再修改一下配置就好

Vs Code 只是一個簡易版本的編輯工具,實際上在dotnet core 上面若要執行專案,只需要在專案目錄底下輸入 「dotnet run」,即可進行編譯並執行,完成文字輸出





dotnet core 3.1 的第一個專案就完成了,打完收工

















留言

這個網誌中的熱門文章

asp.net core 整合 bootstrap 第三方套件 AdminLTE

過去開發asp.net、asp.net mvc,曾經透過layout 或是 masterpage 設定bootstrap的RWD 模板,並且調用其他非官方的plugin 進行開發測試 同樣 asp.net core 的開發上,將來也會有相同的需求,因此也是透過之前使用的AdminLTE進行開發,這在官網也有最新版本的範本demo https://adminlte.io/themes/dev/AdminLTE/index.html 一、下載AdminLTE 筆者在開發上,所使用的是如圖中這兩個版本 二、建立Asp.Net Core 專案 首先透過命令列,在專案資料夾建立一個Asp.Net Core的MVC專案 D:\ASpNetCoreMvc1\dotnet new mvc 三、Asp.Net Core 檔案配置 接著依據AdminLTE-master 的架構,進行靜態檔案的配置 在asp.net core 的靜態檔案架構上,跟過去在asp.net 的方法也有很大的變革,這個必須配置在wwwroot的資料夾,所以筆者將套件包的檔案下載後,直接複製到 wwwroot 進行設定 內部有些檔案是我自己另外寫的,但大致結構仍以RWD為主的配置。另外如果靜態檔案未配置於wwwroot資料夾,網頁執行後將無法執行css及js 四、進行Layout檔案配置更新 回歸到版面配置重點,在 _Layout 的靜態檔案版面配置方式,其實與asp.net 沒有太大的改變 @RenderBody() 這裡是版面內要處理的部份 五、執行網頁

asp.net core 設定驗定權限驗證

近日來利用工作空檔,研究了asp.net core權限驗證機制, 並且透過 AuthorizationFilter 實作action 端的權限過濾。 過去在 asp.net 的mvc 有類似的做法,在asp.net core 其實也是大同小異。 asp.net mvc 也一樣是透過ActionFilter 處理權限過濾,Sam是透過cookie將加密資訊進行記錄。 這裡Account 是登錄的使用者帳號資訊,記錄於UserAuth,並且設置有效時間為1小時 var hc = new HttpCookie("UserAuth",Account) {     Expires = DateTime.Now.AddHours(1),     HttpOnly = true }; Response.Cookies.Add(hc); 在.net core的部份,權限設置已經較為簡化,但仍有需要注意的「眉角」: 首先在Startup.cs 的 ConfigureServices,必須設置系統授權的有效時間,以及指定登入登出頁面:       services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)      .AddCookie(option=>             {                 option.LoginPath = new PathString("/Login/Index");   //設定登入頁Action                 option.LogoutPath = new PathString("/Home/Index");//設定登出頁Action                 //設定cookie 有效時間,這部份也可以在登入的時候進行設置                 option.ExpireTimeSpan = TimeSpan.FromMinutes(60);//設定到期時間限制             }); 另外在 Configure 的部份,啟用R

20170611_仁武舊聚落