无法从app.config获取连接字符串[重复]

问题描述 投票:1回答:2

我正在尝试获取在app.config中设置的连接字符串。最初,该项目没有应用程序配置,因此我不得不添加它。在我的主项目中,我有DLL引用配置,但是在单元测试项目中,没有任何配置dll引用。

让我提及,我正在尝试测试使用Moq框架模拟的客户服务,但是当它获得配置字符串时,会引发异常。

任何想法在这里出了什么问题?

enter image description here

这是我得到的Null参考异常enter image description here

下面是app.config文件

enter image description here

c# .net configuration console-application app-config
2个回答
0
投票

它对我有用,易于使用

Program.cs] >>

var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("app.json");
var configuration = builder.Build();
string constr = configuration["myConnectionString"];

app.json

] >>
{       
    "myConnectionString": "server=.\\sqlexpress;database=.......;uid=sa;password=.....;"
}

1)如果您在调试模式下工作,则app.json文件必须位于程序被编译的文件夹

2)不要忘记包含必要的库

在您的解决方案资源管理器中,执行以下操作

  1. 右键单击您的app.json
  • 选择“属性”
  • 在属性菜单中转到“高级”部分
  • 转到“复制到输出目录”
  • 选择“始终复制”或“如果更新则复制”
  • 重建您的解决方案,然后重试
  • 这应该适用于调试或发布模式

    Properties

    Copy If Newer

    编辑:另外,如果要从测试项目中测试代码,则在测试项目中将需要一个单独的(或链接的)app.json。那是因为您的测试项目将利用它自己的设置来测试您的代码


    0
    投票

    在您的解决方案资源管理器中,执行以下操作

    © www.soinside.com 2019 - 2024. All rights reserved.