title author date CreateTime categories
VisualStudio 使用多个环境进行调试
lindexi
2019-11-29 08:58:49 +0800
2018-8-28 19:2:23 +0800
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

2019-11-29-VisualStudio-使用多个环境进行调试的更多相关文章

  1. VisualStudio 使用多个环境进行调试

    在 VisualStudio 2017 支持使用 launchSettings.json 文件定义多个不同的环境进行调试 先给大家一张图看一下效果 可以看到原来的是启动的按钮,现在被我修改为 lind ...

  2. pycharm+anaconda在Mac上的配置方法 2019.11.29

    内心os: 听人说,写blog是加分项,那他就不是浪费时间的事儿了呗 毕竟自己菜还是留下来东西来自己欣赏吧 Mac小电脑上进行python数据开发环境的配置 首先下载Anaconda,一个超好用的数据 ...

  3. 2019.11.29 Mysql的数据操作

    为名为name的表增加数据(插入所有字段) insert into name values(1,‘张三’,‘男’,20); 为名为name的表增加数据(插入部分字段) insert into name ...

  4. 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱

    今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1.    RZ10配置參數 a)       参数配置前,先导入激活版本 执行完毕后返回 b)      输入参数文件DEFAU ...

  5. Supervision meeting notes 2019/11/29

    topic 分支:  1. subgraph/subsequence mining Wang Jin, routine behavior/ motif. Philippe Fournier Viger ...

  6. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  7. 2018-9-30-VisualStudio-使用多个环境进行调试

    title author date CreateTime categories VisualStudio 使用多个环境进行调试 lindexi 2018-09-30 18:39:26 +0800 20 ...

  8. 黑盒测试实践--Day5 11.29

    黑盒测试实践--Day5 11.29 今天完成任务情况: 分析系统需求,完成场景用例设计 小组负责测试的同学学习安装自动测试工具--QTP,并在线学习操作 小黄 今天的任务是完成场景测试用例的设计.在 ...

  9. 11 个使用 GNOME 3 桌面环境的理由

    11 个使用 GNOME 3 桌面环境的理由 作者: David Both 译者: LCTT geekpi | 2017-08-22 11:43   评论: 27 GNOME 3 桌面的设计目的是简单 ...

随机推荐

  1. hibernate注解@manytoone,@onetomany

    一.一对多(@onetomany) 1.单向一对多模型 假设通过一个客户实体可以获得多个地址信息.对于一对多的实体关系而言,表结构有两种设计策略,分别是外键关联和表关联. (1) 映射策略---外键关 ...

  2. 套接字之 getsockname && getpeername

    getsockname-获取本地地址:比如,在绑定的时候设置端口号为0由系统自动选择端口绑定,或者使用了INADDR_ANY通配所有地址的情况下,后面需要用到具体的地址和端口,就可以用getsockn ...

  3. LeetCode 129. 求根到叶子节点数字之和(Sum Root to Leaf Numbers)

    题目描述 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节点 ...

  4. HearthBuddy 第一次调试

    HearthBuddy https://www.jiligame.com/70639.html 解压缩包,打开hearthbuddy.exe直接运行就可以:不用替换mono.dll直接可用:不需要校验 ...

  5. flutter 添加全局环境变量

    flutter安装好了之后 要添加全局环境变量才可以在终端通过flutter命令来操作 安装flutter环境变量 vim ~/.bash_profile (不存在就创建,添加下面一行命令) expo ...

  6. 域名查询是否注册的demo

    import json import multiprocessing import threading import requests import xmltodict # 万网查询 def chec ...

  7. 重叠IO 模型

    1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基础知识 4. 重叠模型的实现步骤 5. 多客户端情况的注意事项 一.重叠模型的优点   1.可以运行在支持Winsock2的所有W ...

  8. Django ModelChoiceField:过滤查询集并将默认值设置为对象

    我有一个Django Form类定义喜欢这个在Models: class AccountDetailsForm(forms.Form): ... adminuser = forms.ModelChoi ...

  9. 【Deep Learning Nanodegree Foundation笔记】第 9 课:Model Evaluation and Validation

    In this lesson, you'll learn some of the basics of training models. You'll learn the power of testin ...

  10. 【VS开发】【图像处理】ISP图像传感器处理器基础

    1        前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的 ...