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
:请求配置类型(一般为launch
或attach
)运行或附加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
版本中
externalConsole
:Console
单独启动配置,开发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
"在tasks
下taskname
标签下)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 Co
re
所以在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>
要删除的包引用。