VisualStudio 使用多个环境进行调试
在 VisualStudio 2017 支持使用 launchSettings.json 文件定义多个不同的环境进行调试
先给大家一张图看一下效果
可以看到原来的是启动的按钮,现在被我修改为 lindexi 和 逗比,那么我是如何做到的?这个有什么用呢?
实际上这个是通过 launchSettings.json 设置的,可以在 VisualStudio 里设置也可以在文件直接修改。
在调试添加
先创建一个 dotnet core 的程序,为什么需要创建这样的一个程序?因为在 dotnet core 项目创建出来就是新的 VisualStudio 2017 的项目格式。
如果创建的是WPF 程序就需要 从以前的项目格式迁移到 VS2017 新项目格式
创建完成请右击项目属性,可以看到下面界面
点击调试可以看到配置文件,默认的配置文件就是和项目相同,这时只需要点击新建按钮然后输入新的名字,就可以创建新的配置
在不同的配置可以选择使用启动的是什么,如项目。选择项目就是启动这个项目进行调试,可以在调试的时候输入应用程序参数和设置工作文件夹。
这里的应用程序参数就是在运行控制台的时候传入的参数。如果运行的是 WPF 程序也可以使用 Environment.CommandLine 拿到传入的参数。下面我随意添加一个字符,然后在主函数输出
我在主函数输出可以看到下面代码
那么工作文件夹又是做什么的呢?
我将工作文件夹修改为 E:\lindexi 现在尝试在主函数运行下面的代码
在主函数添加下面代码然后运行
var file = new FileInfo("欢迎访问我博客 lindexi.github.io.txt");
Console.WriteLine(file.FullName);
可以看到路径相对的文件夹就修改了,所以设置工作文件夹会修改软件的找 dll 和文件的文件夹。
需要注意,添加的工作文件夹需要是存在的,不然会出现下面提示
启动除了使用项目还可以使用外面的程序,可以选择启动可执行文件,然后写入可执行文件的路径
这时的 VisualStudio 执行的就是这个传入的软件,这个就和使用调试附加到进程一样。
这个问题是在堆栈网的以为大神问的,他问启动的几个选项有什么不同,于是我就这样回答
The first is IIS Express that will use IIS Express to host this project and the second is Project that will run this project and debugging it.
If your project include Main that you can select Project to Launch and VisualStudio will debugging it.
The last one is Executable that will use the other application to run this project like dotnet run xx.dll and you should set the running application path when you select Executable and set some arguments. The VisualStudio will debugging the running application like use attached process.
See:Working with Environments and Launch Settings in ASP.NET Core
Use multiple environments in ASP.NET Core
链接:https://stackoverflow.com/q/48221913/6116637
修改文件
如果不想使用 VisualStudio 可以直接打开 Properties\launchSettings.json 如果这个文件还不存在可以自己创建。
文件的格式是
{
"profiles":
{
"配置文件1":
{
"commandName": "Project",
"commandLineArgs": " 欢迎访问我博客 lindexi.github.io 如果发现有任何不懂欢迎发邮件 ",
"workingDirectory": "E:\\lindexi"
},
"配置文件2":
{
"commandName": "Executable",
"executablePath": "D:\\程序\\baozitongregex.exe",
"commandLineArgs": "欢迎访问我博客 lindexi.oschina.io 如果发现有任何不懂欢迎发邮件"
}
}
}
必须指定配置文件的 commandName ,其他的如 commandLineArgs 这些都是可以不写的
可以添加的值是
executablePath 只有 commandName 设置为 Executable 时才可以使用,用于设置启动的软件
commandLineArgs 传入的命令行
workingDirectory 工作文件夹
environmentVariables 环境变量
环境变量的格式是
"environmentVariables":
{
"环境变量1": "值"
}
参见:Use multiple environments in ASP.NET Core
Working with Environments and Launch Settings in ASP.NET Core
我搭建了自己的博客 https://lindexi.gitee.io/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新
如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
VisualStudio 使用多个环境进行调试的更多相关文章
- 2019-11-29-VisualStudio-使用多个环境进行调试
title author date CreateTime categories VisualStudio 使用多个环境进行调试 lindexi 2019-11-29 08:58:49 +0800 20 ...
- 2018-9-30-VisualStudio-使用多个环境进行调试
title author date CreateTime categories VisualStudio 使用多个环境进行调试 lindexi 2018-09-30 18:39:26 +0800 20 ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十四)——开发环境容器调试小技巧
之前有很多同学提到如何做容器调试,特别是k8s环境下的容器调试,今天就讲讲我是如何调试的.大家都知道在vs自带的创建项目模板里勾选docker即可通过F5启动docker容器调试.但是对于启动在k8s ...
- 突破瓶颈,对比学习:Eclipse开发环境与VS开发环境的调试对比
曾经看了不少Java和Android的相关知识,不过光看不练易失忆,所以,还是写点文字,除了加强下记忆,也证明我曾经学过~~~ 突破瓶颈,对比学习: 学习一门语言,开发环境很重,对于VS的方形线条开发 ...
- PHP代码审计1-审计环境与调试函数
审计环境与调试函数 审计环境 测试环境 常用集成环境:phpStudy.WampServer #不同的操作系统下,漏洞测试的结果也可能不一样 PHP编写工具 EditPlu Notepad++ 代码审 ...
- 【Linux开发】【Qt开发】配置tslibs触摸屏库环境设置调试对应的设备挂载点
[Linux开发][Qt开发]配置tslibs触摸屏库环境设置调试对应的设备挂载点 标签(空格分隔): [Linux开发] [Qt开发] 比如: cat /dev/input/mice cat /de ...
- vscode配置python环境-运行调试-windows环境
官方文件介绍 https://code.visualstudio.com/docs/languages/python 准备: vscode下载安装 python3版本下载(安装时可以选择添加环境变量, ...
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- VC++6.0环境下调试c语言代码的方法和步骤_附图
1.C语言程序四步开发步骤 (1)编辑.可以用任何一种编辑软件将在纸上编写好的C语言程序输入计算机,并将C语言源程序文件*.c以纯文本文件形式保存在计算机的磁盘上(不能设置字体.字号等). (2)编译 ...
随机推荐
- 初探uni-app
第一步:下载 第二步:安装 第三步:创建项目 第四步:项目目录 项目运行 项目效果为 打包为原生App(云端) 运行打包 使用vue 效果如下,并不好看 使用代码如下 未完,待续.... 就是对着官网 ...
- Codeforces 436C
题目链接 C. Dungeons and Candies time limit per test 2 seconds memory limit per test 256 megabytes input ...
- SQLServer —— datediff 函数计算俩个日期差
- mysql存储过程小解
mysql 存储过程 1.创建语法 delimiter $$ --$$表示改变默认的分隔符,代表以下为存储过程,不然会以SQL的方式执行 drop procedure if exists pro_na ...
- python判断输入日期是该年的第几天
1.输入日期,判断日期是该年度的第几天 iyear = int(input("请输入年:\n")) imonth = int(input("请输入月:\n")) ...
- Directx11教程(62) tessellation学习(4)
原文:Directx11教程(62) tessellation学习(4) 现在看看四边形在不同tess factor时,四边形细分的细节,下图是tess factor1-8时候的细分.te ...
- hackerrank---Find a string
题目链接 在字符串a中查找字符串b出现的次数...貌似不可以用a.count() 附上代码: a = raw_input().strip() b = raw_input().strip() cnt = ...
- 两种获取python版本的方法
方法1:查看python版本 import sys print("当前python版本",sys.version) 方法2:cmd框中查看的两种方式
- jq向元素附加数据
--------data() 方法向被选元素附加数据,或者从被选元素获取数据.--------- --------removeData() 方法删除之前通过 data() 方法设置的数据.------ ...
- HZOJ 太阳神
所以我刚学反演还没学反演就要做这么一道神仙题…… 首先大于n不好求,补集转化. $ans=n*n-\sum \limits _{i=1}^{n} \sum \limits _{j=1}^{n} \le ...