使用VSCode創建.NET Core 項目,添加類庫間引用


 

 

注:網絡上搜索到的關於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 插件

image.png

安裝完成后,重啟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>

項目結構創建完成,如圖

image.png

使用VsCode打開項目

File->Open Folder,選擇項目根目錄文件夾,點擊選擇文件夾

image.png

展開zmblog.WebApp,打開Program.cs(或者其他的文件)

點擊后稍等一會,在輸出窗口會看到正在下載OmniSharp 包,等待下載完成...... 

 貌似國內的下載速度比較慢,如果遇到下載包失敗,可重新打開,會再次下載。

下載完 OmniSharp 后會下載.NET Core Debugger...

 

 

添加項目間引用關系

在zmblog.WebApp 中引用 zmblog.Common 、zmblog.Models,操作步驟如下

1.打開zmblog.WebApp.csproj文件

image.png

 

到這里,項目結構創建完成,項目間引用關系完成

 

開始代碼工作

在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

image.png

 

使用VsCode創建.Net Core 環境,使用VsCode創建.Net Core項目,並添加項目間引用關系,啟動調試.Net Core項目,整個過程記錄完成 

 

原文地址(個人博客):http://www.gitblogs.com/Blogs/Details?id=1fe78f56-62c1-4e00-9ba9-b02d03f4d98b

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM