相关疑难解决方法(0)

.NET Core控制台应用程序的ASP.NET核心配置

ASP.NET Core支持一个新的配置系统,如下所示:https: //docs.asp.net/en/latest/fundamentals/configuration.html

.NET Core控制台应用程序是否也支持此模型?

如果不是以前app.configConfigurationManager型号的替代品?

c# .net-core

111
推荐指数
6
解决办法
8万
查看次数

在 .net core 3.1 应用程序中使用 AddEnvironmentVariables

我生成了一个新的网络项目。似乎在 .net core 3.1 中生成了 appSettings.jsons 并且工作正常。问题是它们是由运行时加载和控制的,而不是我。所以我不能调用AddEnvironmentVariables

AddEnvironmentVariables在这种情况下打电话的正确地点在哪里?

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }
}

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
Run Code Online (Sandbox Code Playgroud)

appsettings .net-core-3.1

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

如何将 JSON 文件读入指定值的字符串并使用 System.Text.Json?

我有一个带有 SQL Server 连接的 .Net Core 3.1 控制台应用程序(不是 ASP.NET Core),其中连接字符串存储在 appsettings.json 文件中

{"ConnectionStrings": { "DefaultConnection":"Server=sqlserver;Database=appDb;User=username;Password=password;" }}
Run Code Online (Sandbox Code Playgroud)

以前我使用 Json.Net 读取字符串

var connString = JObject.Parse(File.ReadAllText("appsettings.json")).GetValue("ConnectionStrings").SelectToken("DefaultConnection").ToString()
Run Code Online (Sandbox Code Playgroud)

它工作正常。现在我决定切换到 System.Text.Json 库并遇到动态反序列化问题。以下代码抛出异常:

var dict = JsonSerializer.Deserialize<Dictionary<string, string[]>>("appsettings.json");
Run Code Online (Sandbox Code Playgroud)

System.Text.Json.JsonException: ''a' 是一个无效的值开始。路径:$ | 行号:0 | BytePositionInLine: 0.' 内部异常 JsonReaderException: 'a' 是一个无效的值开始。行号:0 | 字节位置内联:0。

然后我会从指定 Where Key == "ConnectionStrings" 的字典中读取,然后是字符串数组的后续 Value == "DefaultConnection"。我还没有达到那个点,因为一个异常,所以我还没有计划如何从字典中读取。

如何使用新的 System.Text.Json 库从 appsettings.json 文件中读取连接字符串?反序列化为 是否正确Dictianory<string, string[]>?还是使用会更好Dictianory<string, Dictianory<string, string>>

c# json .net-core system.text.json

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