winform工程加入launchSettings.json区分不同环境的配置文件
2026/7/1 16:42:53 网站建设 项目流程

一、WinForm .NET6/7/8 添加launchSettings.json完整步骤

1. 文件存放位置

必须放在项目下的Properties 文件夹内:项目根目录/Properties/launchSettings.json

步骤 1:新建文件夹 + 文件

  1. 解决方案资源管理器 → 右键你的 WinForm 项目 → 添加 → 新建文件夹,命名Properties
  2. 进入 Properties 文件夹 → 添加 → 新建项 → 文本文件,命名:launchSettings.json

步骤 2:粘贴 WinForm 专用配置模板(重点:用DOTNET_ENVIRONMENT,不是 ASPNETCORE)

json

{ "$schema": "https://json.schemastore.org/launchsettings.json", "profiles": { // 开发环境启动配置 "WinFormApp-Development": { "commandName": "Project", "dotnetRunMessages": true, "environmentVariables": { "DOTNET_ENVIRONMENT": "Development", // 可在这里临时覆盖配置 "ConnectionStrings__DefaultDb": "Server=.;Database=DevDB;Uid=sa;Pwd=123456" } }, // 测试环境 "WinFormApp-Staging": { "commandName": "Project", "dotnetRunMessages": true, "environmentVariables": { "DOTNET_ENVIRONMENT": "Staging" } }, // 本地模拟生产 "WinFormApp-Production": { "commandName": "Project", "dotnetRunMessages": true, "environmentVariables": { "DOTNET_ENVIRONMENT": "Production" } } } }

2. VS 选择启动配置(切换环境)

  1. VS 顶部调试下拉框,现在可以看到上面三个配置:WinFormApp-Development/WinFormApp-Staging/WinFormApp-Production
  2. 选中开发环境,F5 启动,程序会自动加载appsettings.Development.json

3. 关键说明(WinForm 踩坑点)

  1. 桌面程序必须用DOTNET_ENVIRONMENTASPNETCORE_ENVIRONMENT只给 Web 项目用,WinForms/WPF/ 控制台不识别。
  2. launchSettings.json只在 VS 调试、dotnet run 时生效程序发布打包后不会带上此文件,服务器部署需要手动设置系统环境变量。
  3. 环境变量嵌套配置用__双下划线,对应 json 的:

二、可视化方式快速配置(不用手写 json)

  1. 右键项目 → 属性 → 调试
  2. 点击「创建新配置文件」→ 选择「项目」
  3. 在环境变量里添加: 名称:DOTNET_ENVIRONMENT值:Development
  4. 保存后会自动在 Properties 生成launchSettings.json

三、验证当前环境代码

运行

var host = Host.CreateDefaultBuilder(args) .ConfigureServices((ctx, services) => { // 获取当前环境 string env = ctx.HostingEnvironment.EnvironmentName; bool isDev = ctx.HostingEnvironment.IsDevelopment(); }) .Build();

四、配套文件结构(必须全部设置复制到输出目录)

项目根目录 ├─ appsettings.json ├─ appsettings.Development.json ├─ appsettings.Staging.json ├─ appsettings.Production.json └─ Properties/ └─ launchSettings.json

选中每个appsettings*.json→ 属性 →复制到输出目录:如果较新则复制

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询