發表文章

目前顯示的是 2018的文章

Visual Studio 2017 關閉瀏覽器時不要停止偵錯

圖片
開發時我都習慣按F5偵錯, 現在只要一關掉偵錯時自動跳出的瀏覽器時,專案會停止偵錯 十分困擾!找了好久終於找到設定方式 使用以下設定排除此問題,請將下列項目 取消勾選 工具 > 選項 > 專案與方案  > Web 專案 > 關閉瀏覽器視窗時,停止偵錯工具 Tools > Options > Projects and Solutions > Web Projects > Stop debugger when browser window is closed

無法在local 使用postman 呼叫 https API

圖片
今天另開了一個.NET Core 2.2的專案,發現有多了一個 設定HTTPS 的按鈕 勾選之後發現postman怎麼打都得不到回應 Could not get any response 但透過瀏覽器是可以正常取得回應的 所以估計應該是postman有什麼問題,後來才知道原來是勾選 HTTPS 所造成的 需要修改postman的設定,就能正常使用囉! File > Settings > General > REQUEST > SSL certificate verification > Off

ASP.NET Core 2 API 使用 Entity Framework Core

圖片
以下操作使用visual studio 2017 ASP.NET Core:2.0版 資料庫建立方式為Database first 建立 ASP.NET Core 2 API 專案 步驟可以參考這篇文章 https://greens2314.blogspot.com/2018/09/aspnet-core-2-api.html 建立資料庫 資料庫名稱:Demo 資料表:Member、Items 建立資料夾,存放 Entity Framework Core所產生的Class跟Context檔案 於專案上按右鍵 > 加入 > 新資料夾 輸入資料夾名稱Models,名稱可以自行命名 使用Entity Framework Core建立Entity Class跟Context檔案 過去使用Entity Framework的Database first會產生edmx檔案, 但Entity Framework Core沒有這種方便的功能了 比較類似Code First的方式,只能透過下指令的方式去更新物件 工具 > NuGet 封裝管理員 > 套件管理器主控台 在PM>後方輸入以下指令後,按Enter鍵 Scaffold-DbContext "Server=ADMIN;Database=Demo;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models 參數說明: Scaffold-DbContext:資料庫連線字串 -OutputDir :要將產生的檔案存放在哪個資料夾 -Force :產生的檔案是否要覆寫現有的檔案,如果資料表有異動,這個指定一定要打 查看執行結果 Models資料夾 :存放由指令產生的 DemoContext .cs、Items.cs與 Member .cs DemoContext.cs : 含有兩個屬性Items與Members,後續就能以物件的方式操作資料庫資料 OnConfiguring:宣告資料庫連線字串,這邊我們可以看到上一行有

使用範本建立與執行 ASP.NET Core 2 API 專案

圖片
以下操作使用visual studio 2017 建立ASP.NET Core 2 API專案 檔案 > 新增 > 專案 Visual C# > .NET Core > ASP.NET Core Web應用程式 選擇API範本 查看Controller程式碼 Controllers資料夾 > 開啟ValuesController.cs > 查看程式碼 可以由程式中觀察到第一個方法的route為 "api/values" 回傳值為一個含有values1與values2的陣列 執行專案 按下執行按鈕,或按F5 開啟瀏覽器 在網址輸入API路徑 api/values,即可查看回傳結果 其實跟建立ASP.NET MVC專案類似, 透過簡單的下一步動作,很快就可以完成專案的建立

Visual Studio 2017 讓多個專案開啟在同一個瀏覽器

圖片
簡單記錄一下今天遇到的問題 更新到15.7.3之後 發現開始偵錯時,又再次遇到開啟多個瀏覽器的問題 如下圖,當你要一次開啟多個專案時,畫面一直開新瀏覽器出來 在15.6.2版本也有遇到一樣的問題 那時候是使用以下設定排除此問題,可以將下列項目 取消勾選 工具 > 選項 > 偵錯 > 一般 > 為ASP.NET啟用Javascript偵錯(Chrome、Edge及IE) Tools > Options > Debugging > General > Enable JavaScript debugging for ASP.NET (Chrome, Edge and IE) 就可以讓多個專案開啟在同一個瀏覽器當中,透過多個標籤或分頁(Tab)去區分專案 如下圖,方案中有三個專案,在開始偵錯後,會自動開啟一個或目前使用中的Chrom瀏覽器,並將這三個專案透過分頁的方式開啟在同一個瀏覽器中 在Visual Studio 2015時就預設是將多個專案開在同個瀏覽器,只是換到2017後,預設變成開啟獨立的瀏覽器,有點無法適應,所以把這功能關閉 平常是用英文版的,但也把中文的部分寫一下XD 參考資料: https://stackoverflow.com/questions/40729535/how-to-stop-browser-closing-automatically-when-you-stop-debugging-on-vs-2017

Visual Studio 自動排版格式化程式碼

圖片
在團隊開發過程中,什麼時候是程式碼瘋狂修改的階段呢, 無非就是Code Review了,有時候卡個幾天或是幾個月都是有可能的, 裡面常出現的comment,每次幾乎都會出現的就是排版的問題, 例如空白多一個少一個,括號還沒換行等等的小瑕疵, 對於心思不夠細膩的人而言,真的十分的惱人 團隊中喜歡將大括號換行, 例如: if(true) {   //code } else {   //code } 那也許有些團隊喜歡: if(true){   //code }else{   //code } 有時候不只括號要不要換行,連else要不要換行都有各自的喜好, 所以有時候要統一使用團隊規定的喜好真的會有眼殘的時候, 自己檢查老半天可能還是有漏網之魚, 但現在不用擔心啦! 只要使用Format 格式化文件就能為你分憂解勞, 設定方式如下: 編輯 > 進階 > 格式化文件 Visual Studio會根據你的環境設定幫你自動重新排版 設定方式如下: 工具 > 選項 切換到 文字編輯器 > C# >程式碼樣式 > 格式化 > 新行 這邊可以設定很多換行的邏輯, 將對應的項目打勾跟取消勾選,下面的黑色區域會顯示排版的格式, 可根據自己或是團隊的喜好去做調整,即可自動排出你想要的格式囉! 如果覺得 編輯 > 進階 > 格式化文件 這個選項太難找到, 可以參考這篇文章,將他加入在明顯的工具列區域喔 http://greens2314.blogspot.tw/2017/09/visual-studio-2015.html

將專案加入Git版控並上傳至遠端儲存庫

圖片
假設情況:想像你們團隊目前已經有一個專案,已經開發半年了,這時候主管去外訓,得知Git版控非常的好,他想使用Git來做專案程式碼的版控讓大家一起開發,請你好好研究如何將專案加入Git版控 目的:讓團隊可以更有效率的合作開發,並了解彼此之間修改的程式碼內容 處理方式:有兩種方法來將專案加入Git版控,以下使用TortoiseGit與Bitbucket示範 1. init 儲存庫 > 上傳到遠端儲存庫 在專案資料夾內產生一個.git的資料夾,這個資料夾就是負責做版控管理的 操作方法:在資料夾空白處按右鍵,選擇Git Create repository here 不要勾選 Make it Bare,按下OK。 若勾選的話是代表這個資料夾是專門拿來做版控的儲存中心,下文會提到,將使用Bitbucket來作為Remote Repository,能讓開發成員取得同一份程式碼 資料夾會自動產生一個名稱為.git的資料夾 代表專案已經可以開始使用Git版控囉!而這個包含.git的資料夾就是版控的 工作區 若沒有看到.git資料夾的話,可以檢查一下資料夾設定是否有允許顯示隱藏的項目 接下來就是將專案內的程式碼加入版控,使用Git Commit來提交一個版本 勾選要加入此版本的程式碼,此時可以瀏覽一下檔案清單,如果有看到某些檔案是不想加入版控的,可以使用.gitignore來忽略它,例如下圖的.vs資料夾會根據使用者的電腦不同而有不同的內容,所以不適合加入版控,必須忽略它。先將下圖視窗案取消 點選.vs資料夾後按滑鼠右鍵,將.vs資料夾加入ignore list 將著選取忽略的方式, Ignore Type: 忽略檔案的方式是針對這個單一的項目,還是其他資料夾內若也有相同的項目也要一併忽略, 例如:專案每個資料夾內都有一個readme.txt檔案, ignore item(s) only in the containing folder(s):只是想排除特定一個 ignore item(s) recursively:想忽略全部的readme.txt,git會將整個工作區內的readme.txt忽略 Ignore File: ignore list是由一個叫做.gitignore的檔案再管