.net standard类库同时兼容Framework和Core获取配置文件

一、新建.net standard类库

二、修改.csproj项目文件

打开项目文件

.net standard类库同时兼容Framework和Core获取配置文件_第1张图片

修改TargetFramework为TargetFrameworks;注意:多了个s;增加framework版本;

然后保存;刷新项目;

三、然后项目依赖项会出来Framework和Core的版本

.net standard类库同时兼容Framework和Core获取配置文件_第2张图片

四、读取配置文件

#if NETFRAMEWORK
using System.Configuration;
#else
using Microsoft.Extensions.Configuration;
#endif
using System;
using System.IO;

namespace OMApiLibrary.Utils
{
    public class ConfigHelper
    {
        public static string GetSectionValue(string key)
        {
#if NETFRAMEWORK
            var value = ConfigurationManager.AppSettings[key];
            return value;
#else
            IConfiguration _configuration;
            var fileName = "appsettings.json";
            var directory = AppContext.BaseDirectory;
            directory = directory.Replace("\\", "/");
            var filePath = $"{directory}{fileName}";
            if (!File.Exists(filePath))
            {
                var length = directory.IndexOf("/bin");
                filePath = $"{directory.Substring(0, length)}/{fileName}";
            }
            var builder = new ConfigurationBuilder()
                .AddJsonFile(filePath, false, true);
            _configuration = builder.Build();
            return _configuration.GetSection(key).Value;
#endif
        }
    }
}

 

你可能感兴趣的:(.net)