.NET Core WPF应用未自带app.config,正确添加方式是什么?
.NET Core WPF 添加配置文件存储连接字符串的实现方法
.NET Core 及后续版本的 WPF 项目默认不再自带App.config文件,你可以选择以下两种方式实现和 .NET Framework 一致的连接字符串配置需求:
方案1:沿用传统 App.config 配置方式(兼容旧写法)
- 右键 WPF 项目,依次选择「添加」→「新建项」,搜索并选择「应用程序配置文件」,文件命名为
App.config(命名必须完全匹配,大小写不敏感但建议保持大小写一致) - 按照 .NET Framework 时期的语法编写配置,示例如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="你自定义的连接名" connectionString="实际数据库连接字符串" providerName="对应数据库的驱动名称"/> </connectionStrings> </configuration>
- 安装 NuGet 包
System.Configuration.ConfigurationManager,即可用原有的语法读取配置:
string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["你自定义的连接名"].ConnectionString;
- 编译后配置文件会输出到 exe 同级目录,命名为
[程序集名称].exe.config,修改配置无需重新编译程序,逻辑和 .NET Framework 完全一致
方案2:使用 .NET Core 官方推荐的 appsettings.json 配置方式(符合新框架规范)
- 右键 WPF 项目,依次选择「添加」→「新建项」,选择「JSON 文件」,命名为
appsettings.json - 右键
appsettings.json文件,打开属性面板,将「复制到输出目录」设置为「如果较新则复制」 - 按照JSON语法编写配置,示例如下:
{ "ConnectionStrings": { "你自定义的连接名": "实际数据库连接字符串" } }
- 安装以下两个 NuGet 包:
Microsoft.Extensions.Configuration.Json、Microsoft.Extensions.Configuration.Abstractions - 读取配置的示例代码:
// 初始化配置构造器 var configuration = new Microsoft.Extensions.Configuration.ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .Build(); // 读取连接字符串 string connStr = configuration.GetConnectionString("你自定义的连接名");
如需全局使用,可以在
App.xaml.cs的启动逻辑中初始化配置对象,存为全局静态变量或注册到依赖注入容器即可
内容的提问来源于stack exchange,提问作者Kelly E Osoba
相关产品推荐
相关产品推荐

