如果你是開發個人專案,那就直接用 Visual Studio Community 版本吧,對個人免費,對小團體免費,不需要這麼折騰。
如果你是 Mac / Linux 使用者,不想用 Visual Studio for Mac 版;或者不想用 Visual Studio for Windows 版那麼重磅的 IDE 來開發簡單的 .NET Core 程式;或者你就是想像我這麼折騰,那我們就開始吧!
- 點選這裡下載正式或者預覽版的 .NET Core 然後安裝
- 點選這裡下載 Visual Studio Code 然後安裝
- 在 Visual Studio Code 裡安裝 C# for Visual Studio Code 外掛(步驟如下圖所示)
搜尋的時候,推薦使用 OmniSharp 關鍵字,因為這可以得到唯一的結果,你不會弄混淆。如果你使用 C# 作為關鍵字,那需要小心,你得找到名字只有 C#,點開之後是 C# for Visual Studio Code 的那款外掛。因為可能裝錯,所以我不推薦這麼做。
對於新版的 Visual Studio Code,裝完會自動啟用,所以你不用擔心。我們可以後續步驟了。
準備一個空的檔案夾,這個檔案夾將會成為我們解決方案所在的檔案夾,也就是 sln 檔案所在的檔案夾。在這個空的檔案夾中開啟 VSCode,然後開啟 VSCode 的終端。
在 VSCode 中的終端中輸入:
> dotnet new console -o Walterlv.Demo
這樣會在當前的檔案夾中建立一個 Walterlv.Demo 的子檔案夾,並且在此檔案夾中新建一個名為 Walterlv.Demo 的控制檯專案。
如果你觀察我們剛剛建立的專案,你會發現裡面有一個 csproj 檔案和一個 Program.cs 檔案。csproj 檔案是 Sdk 風格的專案檔案,而 Program.cs 裡麵包含最簡單的 Hello World 程式碼:
using System; namespace Walterlv.Demo { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } }
我們會考慮在一個子檔案夾中建立專案,是因為我們會一步步建立一個比較複雜的解決方案,用以演示比較完整的使用 VSCode 開發 .NET 程式的過程。
我們現在建立一個在 Visual Studio 會特別熟悉的解決方案,sln 檔案。
使用以下命令建立一個解決方案檔案:
現在,這個解決方案檔案還是空的,不包含任何專案,於是我們把我們一開始建立的 Walterlv.Demo 專案加入到此 sln 檔案中。
使用以下命令新增:
> dotnet sln add .\Walterlv.Demo\Walterlv.Demo.csproj
於是,我們的解決方案中,就存在一個可以執行的控制檯專案了。
理論上,你按下 F5,選擇 .NET Core 後就能自動生成除錯所需的 launch.json 和 tasks.json 檔案:
- 讓你的 VSCode 具備除錯 C# 語言 .NET Core 程式的能力
如果不能生成所需的檔案,你可以使用以下部落格中的方法,手動新增這兩個檔案:
- 手工編輯 tasks.json 和 launch.json,讓你的 VSCode 具備除錯 .NET Core 程式的能力
在經過以上兩篇部落格中的方法之後,你將可以跑起來你的程式。
如果遇到了編譯錯誤……呃這麼簡單的程式怎麼可能遇到編譯錯誤呢?一定是因為之前的操作有問題。可以考慮刪除 bin 和 obj 檔案夾,然後輸入以下命令自行編譯:
這個命令會還原 NuGet 包,然後使用 .NET Core 版本的 MSBuild 編譯你的解決方案。在此之後,你並不需要總是輸入此命令,只需要像 Visual Studio 一樣按下 F5 即可除錯。
現在我們演示如何取用專案。
首先使用以下命令建立一個類庫專案:
> dotnet new classlib -o Walterlv.Library
將其新增到 sln 中。
> dotnet sln add .\Walterlv.Library\Walterlv.Library.csproj
於是我們的目錄結構現在是這樣的(稍微改了一點程式碼)。
然後讓我們的 Walterlv.Demo 專案取用這個剛剛建立的專案:
> dotnet add Walterlv.Demo reference .\Walterlv.Library\
現在,我們即可在 Program.cs 中使用到剛剛 Class1.cs 中編寫的方法(見上面截圖中寫的方法)。
不過,當你寫下 Class1 後,會沒有此名稱,但有快速操作提示可以自動新增名稱空間(就像沒有裝 ReSharper 的 Visual Studio 的效果一樣)。
這時再按下 F5 執行,可以看到多輸出了一個 walterlv is a 逗比 這樣的提示,我們成功使用到了剛剛取用的類。
接下來介紹如何取用 NuGet 包。
> dotnet add Walterlv.Demo package Newtonsoft.Json
這樣可以給 Walterlv.Demo 專案取用 Newtonsoft.Json 包。
接下來就像前面一節我們所描述的那樣使用這個包裡面的類就好了。
原文地址:https://blog.walterlv.com/post/develop-an-app-using-vscode-and-dotnet-cli.html
朋友會在“發現-看一看”看到你“在看”的內容