1. 程式人生 > >VS Code 管理 .NET Core解決方案

VS Code 管理 .NET Core解決方案

dell 當我 如果 創建模板 ctr res site ont 結構

本練習要使用Visual studio code完成一個包含多個項目的解決方案,包括類庫和Web項目。結合Visual Studio Code和.NET Core CLI,創建項目結構如下:

piedpiper

└── src

├── piedpiper.domain

├── piedpiper.sln

├── piedpiper.tests

└── piedpiper.website

任務1:創建解決方案

首先,我們將創建我們的解決方案(.sln)文件,我一直都喜歡在頂級源文件夾中創建解決方案文件D:\WorkTest\piedpiper, 打開Visual Studio Code的集成終端,

PS D:\WorkTest\piedpiper> cd src

PS D:\WorkTest\piedpiper\src> dotnet new sln -n piedpiper

這將創建一個sln名為的新文件piedpiper.sln。

接下來,我們使用dotnet new <projecttype>命令中的output參數在特定文件夾中創建一個項目:

PS D:\WorkTest\piedpiper\src> dotnet new mvc -o piedpiper.website

已成功創建模板“ASP.NET Core Web App (Model-View-Controller)”。

這將在同一目錄中的piedpiper.website文件夾中創建一個ASP.NET Core MVC應用程序。如果我們目前看到我們的文件夾結構,它看起來像這樣:

接下來我們可以為我們的域名和測試項目做同樣的事情:

PS D:\WorkTest\piedpiper\src> dotnet new classlib -o piedpiper.domain

PS D:\WorkTest\piedpiper\src> dotnet new xunit -o piedpiper.tests

任務2:將項目添加到我們的解決方案中

在這一點上,我們有一個沒有引用項目的解決方案文件,我們可以通過調用list命令來驗證這一點:

PS D:\WorkTest\piedpiper\src> dotnet sln list

未在解決方案中找到項目。

接下來我們將我們的項目添加到我們的解決方案文件,我們很容易在Visual Studio 2017中打開解決方案,然後手動添加對每個項目的引用。Visual Studio Code也可以通過.NET Core CLI完成。

現在開始使用以下命令添加每個項目,我們通過引用.csproj文件來執行此操作:

PS D:\WorkTest\piedpiper\src> dotnet sln add piedpiper.website/piedpiper.website.csproj

PS D:\WorkTest\piedpiper\src> dotnet sln add piedpiper.domain/piedpiper.domain.csproj

PS D:\WorkTest\piedpiper\src> dotnet sln add piedpiper.tests/piedpiper.tests.csproj

註意:如果您使用的是基於Linux / Unix的shell,您可以使用globbing模式在單個命令中執行此操作!

dotnet sln add **/*.csproj

現在,當我們調用list我們的解決方案文件時,我們應該得到以下輸出:

S D:\WorkTest\piedpiper\src> dotnet sln list

項目引用

----

piedpiper.website\piedpiper.website.csproj

piedpiper.domain\piedpiper.domain.csproj

piedpiper.tests\piedpiper.tests.csproj

任務3:向項目添加項目引用

接下來,我們要開始向我們的項目添加項目引用,通過dotnet add reference命令將我們的域庫鏈接到我們的網站和單元測試庫:

PS D:\WorkTest\piedpiper\src> dotnet add piedpiper.tests reference piedpiper.domain/piedpiper.domain.csproj

已將引用“..\piedpiper.domain\piedpiper.domain.csproj”添加到項目。

現在,如果要查看測試項目的內容,我們將看到我們的domain 已被引用:

PS D:\WorkTest\piedpiper\src> cd .\piedpiper.tests\

PS D:\WorkTest\piedpiper\src\piedpiper.tests> cat .\piedpiper.tests.csproj

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>

<TargetFramework>netcoreapp2.0</TargetFramework>

<IsPackable>false</IsPackable>

</PropertyGroup>

<ItemGroup>

<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />

<PackageReference Include="xunit" Version="2.2.0" />

<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />

</ItemGroup>

<ItemGroup>

<ProjectReference Include="..\piedpiper.domain\piedpiper.domain.csproj" />

</ItemGroup>

</Project>

接下來,我們將為我們的網站項目做同樣的事情,所以讓我們去我們的網站文件夾並運行相同的命令:

dotnet add piedpiper.website reference piedpiper.domain/piedpiper.domain.csproj

如果我們返回到我們的根源文件夾並運行build命令,我們應該看到所有的構建成功:

PS D:\WorkTest\piedpiper\src> dotnet build

用於 .NET Core 的 Microsoft (R) 生成引擎版本 15.3.409.57025

版權所有(C) Microsoft Corporation。保留所有權利。

piedpiper.domain -> D:\WorkTest\piedpiper\src\piedpiper.domain\bin\Debug\netstandard2.0\piedpiper.domain.dll

piedpiper.tests -> D:\WorkTest\piedpiper\src\piedpiper.tests\bin\Debug\netcoreapp2.0\piedpiper.tests.dll

piedpiper.website -> D:\WorkTest\piedpiper\src\piedpiper.website\bin\Debug\netcoreapp2.0\piedpiper.website.dll

已成功生成。

0 個警告

0 個錯誤

任務4:將NuGet包添加到項目或更新它

假設我們要將NuGet包添加到我們的一個項目中,我們可以使用該add package命令來執行此操作。

首先導航到要添加NuGet軟件包的項目:

PS D:\WorkTest\piedpiper\src> cd .\piedpiper.tests\

PS D:\WorkTest\piedpiper\src\piedpiper.tests> dotnet add package shouldly

Writing C:\Users\dell\AppData\Local\Temp\tmp68E4.tmp

info : Adding PackageReference for package ‘shouldly‘ into project ‘D:\WorkTest\piedpiper\src\piedpiper.tests\piedpiper.tests.csproj‘.

log : Restoring packages for D:\WorkTest\piedpiper\src\piedpiper.tests\piedpiper.tests.csproj...

info : GET https://api.nuget.org/v3-flatcontainer/shouldly/index.json

info : OK https://api.nuget.org/v3-flatcontainer/shouldly/index.json 512ms

info : GET https://api.nuget.org/v3-flatcontainer/shouldly/2.8.3/shouldly.2.8.3.nupkg

info : OK https://api.nuget.org/v3-flatcontainer/shouldly/2.8.3/shouldly.2.8.3.nupkg 84ms

log : Installing Shouldly 2.8.3.

info : Package ‘shouldly‘ is compatible with all the specified frameworks in project ‘D:\WorkTest\piedpiper\src\piedpiper.tests\piedpiper.tests.csproj‘.

info : PackageReference for package ‘shouldly‘ version ‘2.8.3‘ added to file ‘D:\WorkTest\piedpiper\src\piedpiper.tests\piedpiper.tests.csproj‘.

或者,我們可以使用版本參數指定要安裝的版本:

dotnet add package shouldly -v 2.8.3

更新NuGet包

將NuGet軟件包更新到最新版本也是一樣簡單,只需使用相同的命令而不使用版本參數:

dotnet add package shouldly

VS Code 管理 .NET Core解決方案