相关疑难解决方法(0)

如何在Core 2.0中的ConfigurationBuilder中设置SetBasePath

如何在Core 2.0中的ConfigurationBuilder中设置基本路径.

我用Google搜索,发现这个问题,这个来自微软的文档,以及2.0文档在线,但他们似乎使用的版本Microsoft.Extension.Configuration1.0.0-beta8.

我想读appsettings.json.在Core 2.0中有没有新的方法?

using System;
using System.IO;
using Microsoft.Extensions.Configuration;
namespace ConsoleApp2
{
    class Program
    {
        public static IConfigurationRoot Configuration { get; set; }

        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory()) // <== compile failing here
                .AddJsonFile("appsettings.json");

            Configuration = builder.Build();

            Console.WriteLine(Configuration.GetConnectionString("con"));
            Console.WriteLine("Press a key...");
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

appsetting.json

{
  "ConnectionStrings": {
    "con": "connection string"
  }
}
Run Code Online (Sandbox Code Playgroud)

更新: 除了添加Microsoft.Extensions.Configuration.FileExtensions如下图所示的设置我还需要添加 …

c# configuration .net-core asp.net-core

111
推荐指数
3
解决办法
5万
查看次数

IConfiguration不包含GetValue的定义

通过项目中的一种IConfiguration方法移动课程后,GetValue<T>停止工作。用法是这样的:

using Newtonsoft.Json;
using System;
using System.Net;
using System.Text;
using Microsoft.Extensions.Configuration;

namespace Company.Project.Services
{
    public class MyService
    {
        private readonly IConfiguration _configuration;

        public string BaseUri => _configuration.GetValue<string>("ApiSettings:ApiName:Uri") + "/";

        public MyService(
            IConfiguration configuration
        )
        {
            _configuration = configuration;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net configuration asp.net-core-2.2

9
推荐指数
2
解决办法
2811
查看次数

从.NET Core/ASP.NET Core中的类库访问App密钥数据

要访问类库中的App Keys,我们是否需要在每个需要访问AppKey的类库和类中执行以下代码?

public static IConfigurationRoot Configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
Run Code Online (Sandbox Code Playgroud)

这是我在Microsoft文档中发现的,但这看起来非常多余.

项目中的启动类如下所示

 public class Startup
    {
        public IConfigurationRoot Configuration { get; set; }

        public Startup()
        {
            var builder = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json");

            Configuration = builder.Build();
        }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddEntityFramework().AddEntityFrameworkSqlServer()
                .AddDbContext<DbContext>(options =>
                    options.UseSqlServer(Configuration["Data:MyDb:ConnectionString"]));
        }
    }
Run Code Online (Sandbox Code Playgroud)

那么我应该如何在项目的每个类中注入这个" IConfigurationRoot ".我是否必须在每个类库中重复此Startup类?为什么这不是.NET Core Framework的一部分?

c# asp.net .net-core asp.net-core

4
推荐指数
2
解决办法
4175
查看次数

从类中的 appsetting.json 获取值

我在下面有一些 appsetting.json

{
  "MyConfig": {
    "FolderAnnouncement": "Duyuru\\",
    "BaseMediaUrl": "D:\\YoungTalent\\YTPanel\\YTPanel\\wwwroot\\images\\"
  },
  "ConnectionStrings": {
    "MySqlCon": "Server=localhost;Database=kariyer_portal;Uid=root;Pwd=1234;",
    "MsSqlCon": "Server=localhost\\SQLEXPRESS;Database=kariyer_portal;Trusted_Connection=True;ConnectRetryCount=0"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}
Run Code Online (Sandbox Code Playgroud)

我有一个类 MyConfig。

namespace YTPanel.Models.Model
{
    public interface ITest { string GetFolders(string param); }
    public class MyConfig: ITest
    {
        public MyConfig(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        private readonly IConfiguration Configuration;


        public string BaseMediaUrl { get; set; }
        public string FolderAnnouncement { get; set; }

        public string GetFolders(string param)
        {

            string here = …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection asp.net-core-mvc asp.net-core

1
推荐指数
1
解决办法
4492
查看次数