3 .NET CLI 命令和项目结构

本文介绍.NET项目的构建方式,包括解决方案的创建与管理、项目类型的创建、类库的应用、单元测试的编写与执行以及Nuget包的使用等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Word文档地址:https://github.com/IceEmblem/LearningDocuments/tree/master/%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/Windows%20%E5%B9%B3%E5%8F%B0/Net

如下,本篇文章带你了解.NET的项目结构,为了更好的了解项目结构,本篇文章使用VSCode作为IDE

vscode扩展

使用vscode作为IDE,我们需要安装2个扩展
在这里插入图片描述
C#:必装
Auto-Using for C#:可选

解决方案

.NET的项目一般都是以解决方案开始的

1.创建解决方案
1)创建一个文件夹 TestNET
2)TestNET目录下执行:dotnet new sln,该命令创建一个解决方案

2.解决方案
如下,我们可以看到解决方案其实就是一个文件
在这里插入图片描述
3.dotnet sln 命令
dotnet sln是解决方案的命令,如下列车笔记常见的选项
-h:常用,几乎所有命令都有该选项,命令帮助选项,示例 dotnet sln -h
add <PROJECT_PATH>:添加项目到解决方案,示例 dotnet sln add Start
remove <PROJECT_PATH>:从解决方案移除项目,示例 dotnet sln remove Start

项目

一个解决方案包含多个项目

1.创建项目
1)在解决方案下创建文件夹Start
2)在Start目录下执行命令dotnet new console -f net6.0,该命令创建一个console(控制台)项目,目标框架为net6.0
3)执行命令dotnet sln add Start,该命令项目添加到解决方案

2.项目
如下,Start项目,Start.csproj就代表了Start项目,Program.cs是console类型项目所必须的,bin | obj是编译文件夹,不属于项目内容(可以删除,但每次运行它都会生成)
在这里插入图片描述
3.运行项目
解决方案目录下执行 dotnet run --project Start,运行Start项目
在这里插入图片描述

发布项目/解决方案

1.执行dotnet publish --configuration Release发布解决方案
2.在\TestNET\Start\bin\Release\net6.0\publish目录可以看到发布的项目

在这里插入图片描述
3.运行项目
发布目录下执行dotnet HelloWorld.dll运行程序

类库

1.创建类库:dotnet new classlib -o TestLibrary -f net6.0
-o TestLibrary:类库的名称为TestLibrary,目录为TestLibrary
-f net6.0:目标框架为net6.0

2.将项目添加到解决方案:dotnet sln add .\TestLibrary
3.Start项目引用TestLibrary项目:dotnet add Start reference TestLibrary
至此,项目Start可以使用类库TestLibrary了
4.移除项目引用:dotnet remove reference(不懂就 -h)

单元测试

1.创建单元测试项目:dotnet new mstest -o TestLibraryTest -f net6.0
2.将项目添加到解决方案:dotnet sln add TestLibraryTest
3.引用要测试的项目:dotnet add TestLibraryTest reference TestLibrary
4.运行单元测试:dotnet test TestLibraryTest
在这里插入图片描述
5.发布版测试:dotnet test TestLibraryTest --configuration Release
默认情况下,我们运行的是debug版本的测试,要想测试发布版,需添加–configuration Release

Nuget包使用

如下,我们已TestLibrary项目为例对包进行讲解
1.添加包引用:dotnet add TestLibrary package Newtonsoft.Json
TestLibrary:项目名
package Newtonsoft.Json:要安装的包Newtonsoft.Json
安装完成后我们就可以使用该包了

2.移除包可以使用:dotnet remove package(不懂就 -h)
3.还原包:dotnet restore

***.csproj项目文件

如下说明项目文件的字段

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

  <ItemGroup>
    <!-- 当前项目引用的项目 -->
    <ProjectReference Include="..\TestLibrary\TestLibrary.csproj" />
  </ItemGroup>

  <ItemGroup>
    <!-- 当前项目引用的包 -->
    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
  </ItemGroup>

  <PropertyGroup>
    <!-- 项目的打包类型,这里为 exe 可执行文件 -->
    <OutputType>Exe</OutputType>
    <!-- 项目的目标框架,这里为 net6.0 -->
    <TargetFramework>net6.0</TargetFramework>
    <!-- 是否启用自动 Using,这是 net6.0 的特性,详情看 net6.0 说明 -->
    <ImplicitUsings>enable</ImplicitUsings>
    <!-- 这也是 net6.0 的特性,详情看 net6.0 说明 -->
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>

vscode配置

当你添加控制台项目时,vscode右下角会提示你添加构建和调试的配置(c#扩展插件的提示),点击Yes添加调试配置文件,如果没有提示那就重启vscode
在这里插入图片描述
1.配置文件
如下是vscode的调试配置文件
在这里插入图片描述
launch.json是启动配置文件
tasks.json是任务配置文件

2.launch.json
如下,看注释

{
    "version": "0.2.0",
    "configurations": [
        {
            // 显示的名称
            "name": ".NET Core Launch (console)",
            // netcore CLR
            "type": "coreclr",
            "request": "launch",
            // 启动前执行的任务,如下执行名为 build 的任务
            "preLaunchTask": "build",
            // 启动的入口
            "program": "${workspaceFolder}/Start/bin/Debug/net6.0/Start.dll",
            "args": [],
            "cwd": "${workspaceFolder}/Start",
            // 控制台类型 internalConsole 为内部控制台
            "console": "internalConsole",
            "stopAtEntry": false
        }
    ]
}

3.tasks.json
tasks.json是任务配置文件,launch.json启动程序前可能会执行任务

{
    "version": "2.0.0",
    "tasks": [
        {
            // 任务的名称
            "label": "build",
            // 任务的命令
            "command": "dotnet",
            "type": "process",
            // 命令的参数
            "args": [
                "build",
                "${workspaceFolder}/Start/Start.csproj",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}

4.启动和debug
配置好vscode的配置文件后可以从vscode调试代码了,如下
在这里插入图片描述
5.调试控制台讲解
1)将launch.json的字段设为 “console”: “externalTerminal”(内部控制台无法输入)
2)调试控制台
在这里插入图片描述
3)示例:更改name
在这里插入图片描述
4)示例:更改args
输入args=new string[] { “AAA”, “BBB” }

6.手动添加vscode调试配置
就是按照上面的文件添加就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值