我的开发环境是abpvnext net6.0 。
因为业务需要,从原来老项目net4.5工程里复制了一个报表导出的业务类到net6项目里面,但是他的获取appsettings的代码其实不用想都知道会报错。因为原来framwork时代获取appsettings的方法常见的是 System.Configuration.ConfigurationManager.AppSettings[""].ToString()这种。肯定在netcore里面不适用。报错Object reference not set to an instance of an object.
然后我到网上查了好多链接,也没有一个准确的说法。通常情况下我们在.NETCORE里面使用IConfiguration 获取配置文件都是些到startup文件里面 ,通过注入的方式来使用IConfiguration 。但是单业务类里面没法注入和构造函数实例化IConfiguration ,就必须要用new的方式来解决问题,最后到技术群里得到大佬指点,就一行代码解决
IConfiguration myconfiguration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build();
代码截图如下图: