You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core引用.NET Standard库时读取App.Config的问题

解决.NET Core测试项目中ConfigurationManager读取不到App.Config连接字符串的问题

我之前刚好碰到过一模一样的坑,折腾了好一阵才搞定,给你分享几个可行的解决步骤:

  • 确保App.config被复制到输出目录
    右键单元测试项目里的App.config,打开「属性」面板,把「复制到输出目录」设置为「如果较新则复制」或者「始终复制」。.NET Core不会像.NET Framework那样自动把App.config带到输出目录,必须手动配置这个属性,不然ConfigurationManager根本找不到文件。

  • 验证配置文件的输出命名
    编译测试项目后,去输出目录(一般是bin/Debug/netcoreapp2.0)看看,应该能找到一个名为[你的测试项目名称].dll.config的文件,打开它确认里面的连接字符串是正确的。如果没有这个文件,说明复制属性没设对,或者项目没重新编译。

  • 检查ConfigurationManager包版本
    确保你安装的System.Configuration.ConfigurationManager NuGet包版本和.NET Core 2.0兼容。建议安装对应.NET Core 2.x系列的稳定版(比如2.0.0或后续兼容补丁版),版本不匹配也可能导致读取异常。

  • 调试确认配置文件路径
    可以在测试代码里加一行调试代码,看看ConfigurationManager实际读取的是哪个文件:

    var configPath = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath;
    Console.WriteLine($"当前读取的配置文件:{configPath}");
    

    运行测试后查看输出,就能确认是不是指向了你预期的配置文件,如果不是,就排查文件复制或者命名的问题。

  • 清理重建测试项目
    有时候Visual Studio的缓存会搞鬼,先清理测试项目的输出目录,再重新生成一遍,确保最新的App.config被复制过去。

亲测这些步骤能解决.NET Core 2.0测试项目里ConfigurationManager读不到App.Config连接字符串的问题,你可以挨个试试。

内容的提问来源于stack exchange,提问作者StuffOfInterest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:44:13