注:網絡上搜索到的關於VsCode創建調試.Net Core 項目的文章都比較老舊,不能完全參考使用,根據網絡文章、微軟官方文檔的指導下,學習並整理此文檔,但也大體和文檔學習路線相似,主要為記錄學習過程。
原文地址(個人博客):http://www.gitblogs.com/Blogs/Details?id=1fe78f56-62c1-4e00-9ba9-b02d03f4d98b
准備工作
1.下載並安裝VSCode
2.安裝.Net Core SDK
3.安裝C#插件,C# Extensions 插件

安裝完成后,重啟VSCode
了解dotnet 命令
C:\>dotnet Usage: dotnet [options] Usage: dotnet [path-to-application] Options: -h|--help Display help. --version Display version. path-to-application: The path to an application .dll file to execute.
dotnet --version 查詢.net core 的版本號
dotnet -h 查詢幫助信息
C:\>dotnet -h .NET 命令行工具 (2.1.202) 使用情況: dotnet [runtime-options] [path-to-application] 使用情況: dotnet [sdk-options] [command] [arguments] [command-options] path-to-application: 要執行的應用程序 .dll 文件的路徑。 SDK 命令: new 初始化 .NET 項目。 restore 還原 .NET 項目中指定的依賴項。 run 編譯並立即執行 .NET 項目。 build 生成 .NET 項目。 publish 發布 .NET 項目以進行部署(包括運行時)。 test 使用項目中指定的測試運行程序運行單元測試。 pack 創建 NuGet 包。 migrate 將基於 project.json 的項目遷移到基於 MSBuild 的項目。 clean 清除生成輸出。 sln 修改解決方案(SLN)文件。 add 將引用添加到項目中。 remove 從項目中刪除引用。 list 列出項目中的引用。 nuget 提供其他 NuGet 命令。 msbuild 運行 Microsoft 生成引擎 (MSBuild)。 vstest 運行 Microsoft 測試執行命令行工具。 常用選項: -v|--verbosity 設置命令的詳細級別。允許值為 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。 -h|--help 顯示幫助。 運行“dotnet 命令 --help”,獲取有關命令的詳細信息。 sdk-options: --version 顯示 .NET Core SDK 版本。 --info 顯示 .NET Core 信息。 -d|--diagnostics 啟用診斷輸出。 runtime-options: --additionalprobingpath <path> 要探測的包含探測策略和程序集的路徑。 --fx-version <version> 要用於運行應用程序的安裝版共享框架的版本。 --roll-forward-on-no-candidate-fx 已啟用“不前滾到候選共享框架”。 --additional-deps <path> 其他 deps.json 文件的路徑。 C:\>
開始創建項目
創建dotnetcode文件夾,作為項目主目錄
D:\>cd dotnetcode D:\dotnetcode>dotnet new sln -o zmblog 已成功創建模板“Solution File”。 D:\dotnetcode>cd zmblog D:\dotnetcode\zmblog>dotnet new classlib -o zmblog.Common 已成功創建模板“Class library”。 正在處理創建后操作... 正在 zmblog.Common\zmblog.Common.csproj 上運行 "dotnet restore"... Restoring packages for D:\dotnetcode\zmblog\zmblog.Common\zmblog.Common.csproj... Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Common\obj\zmblog.Common.csproj.nuget.g.props. Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Common\obj\zmblog.Common.csproj.nuget.g.targets. Restore completed in 223.44 ms for D:\dotnetcode\zmblog\zmblog.Common\zmblog.Common.csproj. 還原成功。 D:\dotnetcode\zmblog>dotnet new classlib -o zmblog.Models 已成功創建模板“Class library”。 正在處理創建后操作... 正在 zmblog.Models\zmblog.Models.csproj 上運行 "dotnet restore"... Restoring packages for D:\dotnetcode\zmblog\zmblog.Models\zmblog.Models.csproj... Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Models\obj\zmblog.Models.csproj.nuget.g.props. Generating MSBuild file D:\dotnetcode\zmblog\zmblog.Models\obj\zmblog.Models.csproj.nuget.g.targets. Restore completed in 294.69 ms for D:\dotnetcode\zmblog\zmblog.Models\zmblog.Models.csproj. 還原成功。 D:\dotnetcode\zmblog>dotnet new razor -o zmblog.WebApp 已成功創建模板“ASP.NET Core Web App”。 此模板包含非 Microsoft 的各方的技術,有關詳細信息,請參閱 https://aka.ms/template-3pn。 正在處理創建后操作... 正在 zmblog.WebApp\zmblog.WebApp.csproj 上運行 "dotnet restore"... Restoring packages for D:\dotnetcode\zmblog\zmblog.WebApp\zmblog.WebApp.csproj... Restore completed in 95.12 ms for D:\dotnetcode\zmblog\zmblog.WebApp\zmblog.WebApp.csproj. Generating MSBuild file D:\dotnetcode\zmblog\zmblog.WebApp\obj\zmblog.WebApp.csproj.nuget.g.props. Generating MSBuild file D:\dotnetcode\zmblog\zmblog.WebApp\obj\zmblog.WebApp.csproj.nuget.g.targets. Restore completed in 2.91 sec for D:\dotnetcode\zmblog\zmblog.WebApp\zmblog.WebApp.csproj. 還原成功。 D:\dotnetcode\zmblog>dotnet sln add zmblog.Common/zmblog.Common.csproj 已將項目“zmblog.Common\zmblog.Common.csproj”添加到解決方案中。 D:\dotnetcode\zmblog>dotnet sln add zmblog.Models/zmblog.Models.csproj 已將項目“zmblog.Models\zmblog.Models.csproj”添加到解決方案中。 D:\dotnetcode\zmblog>dotnet sln add zmblog.WebApp/zmblog.WebApp.csproj 已將項目“zmblog.WebApp\zmblog.WebApp.csproj”添加到解決方案中。 D:\dotnetcode\zmblog>
項目結構創建完成,如圖

使用VsCode打開項目
File->Open Folder,選擇項目根目錄文件夾,點擊選擇文件夾

展開zmblog.WebApp,打開Program.cs(或者其他的文件)
點擊后稍等一會,在輸出窗口會看到正在下載OmniSharp 包,等待下載完成......
貌似國內的下載速度比較慢,如果遇到下載包失敗,可重新打開,會再次下載。
下載完 OmniSharp 后會下載.NET Core Debugger...
添加項目間引用關系
在zmblog.WebApp 中引用 zmblog.Common 、zmblog.Models,操作步驟如下
1.打開zmblog.WebApp.csproj文件

到這里,項目結構創建完成,項目間引用關系完成
開始代碼工作
在zmblog.Models 中,創建UserInfo類
public class UserInfo
{
public int Id {get;set;}
public string UserName {get;set;}
public int Age{get;set;}
public string Password {get;set;}
public override string ToString()
{
return string.Format("我是{0},今年{1}歲!",this.UserName,this.Age);
}
}
在zmblog.WebApp中,創建文件夾及文件,結構如下:
zmblog.WebApp
Controllers
HomeController.cs
Views
Home
Index.cshtml
HomeController 內容:
public class HomeController:Controller
{
public IActionResult Index()
{
UserInfo u = new UserInfo();
u.Age = 12;
u.UserName = "fang jian feng";
return View(u);
}
}
Index.cshtml 內容:
@model zmblog.Models.UserInfo @Model.ToString()
StartUp.cs Configure方法中,增加代碼
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
運行調試項目

點擊Debug圖標,切換到調試界面,點擊綠色的三角形,啟動調試,在彈出的瀏覽器中輸入地址 /Home/Index

使用VsCode創建.Net Core 環境,使用VsCode創建.Net Core項目,並添加項目間引用關系,啟動調試.Net Core項目,整個過程記錄完成
原文地址(個人博客):http://www.gitblogs.com/Blogs/Details?id=1fe78f56-62c1-4e00-9ba9-b02d03f4d98b
