VS Code 的launch.json和tasks.json 简介,移除某个 `nuget` 包

launch.json 简介

1.环境 Windows,.NET Core 2.0,VS Code

dotnet> dotnet new console -o myApp

2.launch.json配置文件

{
   // Use IntelliSense to find out which attributes exist for C# debugging
   // Use hover for the description of the existing attributes
   // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
   "version": "0.2.0",
   "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            // If you have changed target frameworks, make sure to update the program path.
            "program": "${workspaceFolder}/myApp/bin/Debug/netcoreapp2.0/myApp.dll",
            "args": [],
            "cwd": "${workspaceFolder}/myApp",
            // For more information about the ‘console‘ field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
            "console": "internalConsole",
            "stopAtEntry": false,
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }
    ,]
}

launch.json

  • name:配置名称,在启动配置下拉菜单中显示
  • type:配置类型
  • request:请求配置类型(一般为launchattach)运行或附加
  • preLaunchTask:调试会话前要运行的任务
  • program:程序Build以后生成的dll,默认是${workspaceFolder}/bin/Debug/(target-framework)/(project-name.dll)
  • workspaceFolder:正在调试的程序的工作目录的路径。默认为当前工作区(即使用Code命令进入的目录)
  • target-framework:框架
  • args:传递给程序的命令行参数
  • cwd:项目目录
  • console:启动调试目标的位置
  • stopAtEntry:调试器是否在目标的入口点停止,默认为 false
  • internalConsoleOptions:内部调试控制台的控制行为
  • processId:要附加到的进程 id。使用 “$ {command:pickProcess}
    以获取要附加到的正在运行的进程的列表。如果使用 “processId”, 则不应使用 “processName”。

注:在.NET Core 1.0版本中
externalConsoleConsole单独启动配置,开发console时,如果需要输入后调试,将值设置为true,将console单独启动即可。


tasks.json 简介

1.执行命令:dotnet> dotnet new console -o myApp

2.tasks.json文件配置:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/myApp/myApp.csproj"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}
  • tasks:任务配置,通常是外部任务运行程序中已定义任务的扩充
  • label:任务的用户界面标签
  • command:要执行的命令。可以是外部程序或 shell 命令(这里一般表示使用dotnet命令)
  • type:定义任务是被作为进程运行还是在 shell 中作为命令运行
  • args:在调用此任务时传递给命令的参数(在.NET Core 1.0 中,"build"在taskstaskname标签下)
  • problemMatcher:要使用的问题匹配程序。可以是字符串或问题匹配程序定义,或字符串和问题匹配程序数组结合起来就是告诉powershell执行
    dotnet build {workspaceFolder}/myApp/myApp.csproj

.NET Core 环境下使用命令行移除某个 nuget 包的具体方法

.NET Core 使用Nuget包一般是先写入csproj文件,然后下载保存在\bin\Debug\netcoreapp2.0\publish\下,所以可以采用如下方案进行删除操作(其中netcoreapp2.0.NET Core版本)。

第一种:修改配置和手动删除文件(不建议)

对于任何系统环境下都有效,直接修改csproj文件,nuget包都包含在这个文件下,修改后删除你本地相同包名称的文件就行。

例如:删除<PackageReference Include="Microsoft.AspNetCore.Session" Version="2.0.1" />这行代码后(本行删除后重新打开项目,该nuget包就被项目移除了),删除 项目位置\bin\Debug\netcoreapp2.0\publish\Microsoft.AspNetCore.Session.dll 文件就可以删除该nuget包。

第二种:采用 Nuget 包管理命令(建议)

使用如下命令进行Nuget包的删除操作(对于所有安装.NET Core 的系统都通用):

以删除Microsoft.AspNetCore.Session包为例:在项目目录下使用如下命令即可,由于没有安装Linux下的.NET Core
所以在Windows下做演示。

F:\文档\Visual Studio Code\MyWeb\MyWeb.Web>dotnet remove MyWeb.Web.csproj package Microsoft.AspNetCore.Session
info : Removing PackageReference for package 'Microsoft.AspNetCore.Session' from project 'MyWeb.Web.csproj'.

大家可以参考官网说明:https://docs.microsoft.com/zh-cn/nuget/tools/dotnet-commands

其中移除命令的具体使用如下:

使用情况: dotnet remove <PROJECT> package [选项] <PACKAGE_NAME>

参数:
<PROJECT>要操作的项目文件。如果未指定文件,则命令会在当前目录下搜索一个文件。
<PACKAGE_NAME>要删除的包引用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值