.Net Core环境绑定及配置launchSettings.json
1、Asp.net Core的默认环境配置在项目Properties——》launchSettings.json下
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5001",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Dev"
}
},
"Ers.Api": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:5001;",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "QA"
}
}
}
}
请注意,我们有两个配置信息:
- IIS Express 和 StudentManagement
当我们通过按CTRL + F5或只是F5从 Visual Studio 运行项目时。 默认情况下,使用调用配置文件名称"commandName": "IISExpress",。 另外一种情况,如果我们使用.NET Core CLI(dotnet run)运行项目,则使用带有"commandName": "Project",的配置文件 。
我们可以通过单击 Visual Studio 中的下拉列表来更改要使用的配置文件中 .commandName 属性,修改默认设置。 
默认值可以是:
- 项目
- IISExpress
- IIS
此值与项目文件中的AspNetCoreHostingModel元素的值会有对应关系,会一起指定要启动的内部和外部 Web 服务器(反向代理服务器)。通过“donet run ”命令时调用的是项目"Ers.Api"的配置,通过vs2019的IIS press调用的是"IIS Express"里的配置
| commandName | AspNetCoreHostingModel 的值 | Internal Web Server(内部服务器) | External Web Server(外部服务器) |
|---|---|---|---|
| 项目 | 忽略托管设置的值 | 只使用一个 Web 服务器 - Kestrel | 只使用一个 Web 服务器 - Kestrel |
| IISExpress | 进程内托管(InProcess) | 只使用一个 Web 服务器 - IIS Express | 只使用一个 Web 服务器 - IIS Express |
| IISExpress | 进程外托管(OutOfProcess) | Kestrel | IIS Express |
| IIS | 进程内托管(InProcess) | 只使用一个 Web 服务器 - IIS | 只使用一个 Web 服务器 - IIS |
| IIS | 进程外托管(OutOfProcess) | Kestrel | IIS |
您还可以通过直接编辑 launchSettings.json 文件中的设置,也可以使用 Visual Studio 提供的图形用户界面(GUI)更改设置。
通过 GUI 来设置
- 在 Visual Studio 的解决方案资源管理器中右键单击项目名称,然后从上下文菜单中选择“属性”。 单击项目“属性”窗口中的“调试”选项卡,如下图
使用 GUI 我们可以更改launchSettings.json文件中的设置。
注意,环境变量“ASPNETCORE_ENVIRONMENT”设置的默认设置为“Development”。
我们可以将此值更改为Staging或Production,具体取决于我们是在Staging还是Production环境中运行此项目。
我们还可以添加新的环境变量,比如测试环境QA。
Startup示例配置,在构造方法里IHostingEnvironment会读取launchSettings.json里的信息,此时env会读取到对应的ASPNETCORE_ENVIRONMENT的值到EnvironmentName
public Startup(IHostingEnvironment env)
{
var build = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile($"Configs/{env.EnvironmentName}/appsettings.json", optional: false)
.AddJsonFile($"Configs/{env.EnvironmentName}/cashesettings.json", optional: false)
.AddJsonFile($"Configs/{env.EnvironmentName}/ERSsettings.json", optional: false)
.AddEnvironmentVariables();
Configuration = build.Build();
AppConfig.Configuration = build.Build();
}

.Net Core环境绑定及配置launchSettings.json的更多相关文章
- net core体系-web应用程序-4net core2.0大白话带你入门-5asp.net core环境变量详解
asp.net core环境变量详解 环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的 ...
- asp.net core环境变量详解
环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的环境变量在其它文件里面,不多说了,有兴趣的 ...
- 【转】asp.net core环境变量详解
asp.net core环境变量详解 环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的环境 ...
- 规范开发目录 及 webpack多环境打包文件配置
规范开发目录 普通项目 开发目录: ├── project-name ├── README.md ├── .gitignore ├── assets ├── ├── js ├── ├── css ├─ ...
- .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]
较之传统通过App.config和Web.config这两个XML文件承载的配置系统,.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持.我们可以将内存变量.命令行参 ...
- Asp.net core 环境配置
参考: 在 ASP.NET Core 中使用多个环境 ASP.NET Core 中的配置 在项目的 Properties\launchSettings.json中可以配置多个环境 { "ii ...
- 【APS.NET Core】- launchSettings.json
launchSettings.json文件为一个ASP.NET Core应用保存特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等.在launchSettings.json文件中进行配置 ...
- [08]ASP.NET Core 中 launchsettings.json 启动配置文件
ASP.NET Core launchsettings.json 启动配置文件 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自 ...
- ASP.NET Core launchsettings.json 文件
ASP.NET Core launchsettings.json 文件 在本节中,我们将讨论在 ASP.NET Core 项目中launchsettings.json文件的重要性. launchset ...
- 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境
本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境 Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...
随机推荐
- 如何利用cursor+deepseek来最大程度减少组件库的学习成本!
在当今的软件开发领域,开发者们面临着不断提升开发效率与降低上手成本的挑战.本文档的核心目的,便是助力开发者们实现这一目标,特别是通过巧妙运用组件官网文档,并结合 Cursor 与 DeepSeek 等 ...
- Centos7搭建mailx邮件应用
邮件发送原理图 邮件用户代理(MUA,Mail User Agent)邮件传送代理(MTA,Mail Transport Agent)邮件分发代理(MDA,Mail Deliver Agent) 邮件 ...
- 十四. Redis 新功能
十四. Redis 新功能 @ 目录 十四. Redis 新功能 1. ACL 2. IO多线程 3. 工具支持 Cluster 4. 其它新功能-介绍 5. 最后: 1. ACL ACL 参考官网: ...
- RabbitMQ(九)——消息持久化
RabbitMQ系列 RabbitMQ(一)--简介 RabbitMQ(二)--模式类型 RabbitMQ(三)--简单模式 RabbitMQ(四)--工作队列模式 RabbitMQ(五)--发布订阅 ...
- linux命令行连接wifi
linux命令行连接wifi 1.安装nmcli sudo apt-get install nmcli 2.查看网络设备 sudo nmcli dev 3.开启wifi sudo nmcli r wi ...
- 安装mysql报错5.7.13-Table 'mysql.user' doesn't existFor more information
临时写的一个小系统客户要求用mysql,所以下载一个来研究下.解压后开始配置my.ini 配置my.ini [mysql]# 设置mysql客户端默认字符集default-character-set= ...
- 【COM3D2Mod 制作教程(3)】Mod 制作概要
[COM3D2Mod 制作教程(3)]Mod 制作概要 制作工具整合包:https://mod.3dmgame.com/mod/205516 该工具包简单整合了些本章需要的小型工具.插件.以及其他一些 ...
- QT5笔记: 32. QPainter 基本绘制
- SpringSecurity - [01] 概述
Spring Security 是一个灵活且强大的工具,可以帮助你构建安全可靠的Spring应用程序.它不仅简化了认证和授权的过程,而且还提供了丰富的特性和扩展点,使得开发者可以根据项目的独特需求定制 ...
- SQL SERVER日常运维巡检系列之-性能
前言 做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期.结果进行登记,同时可能需要出一份巡检报告. 本系列旨在解决一些常见的困扰: 不知道巡检哪些东西 不知道怎么样便捷体检 机器太多体 ...