小编Pio*_*r P的帖子

控制台应用程序看不到Appsettings.Development.json .net core 3.1配置问题

在我的 asp.net core 3.1 控制台应用程序中。在主类中我有这样的代码:

class Program
{
    static void Main(string[] args)
    {
        var builder = new ConfigurationBuilder();
        BuildConfig(builder);

        var host = Host.CreateDefaultBuilder()
            .ConfigureServices((context, services) =>
            {
                services.AddTransient<StartService>();
            })
            .Build();
        
        var svc = ActivatorUtilities.CreateInstance<StartService>(host.Services);
        
        svc.Run();
    }

    static void BuildConfig(IConfigurationBuilder builder)
    {
        builder.SetBasePath(Directory.GetCurrentDirectory())
           .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
           .AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Development"}.json", optional: true)

            .AddEnvironmentVariables();
    }
}
Run Code Online (Sandbox Code Playgroud)

环境设置为开发 在此输入图像描述

和这样的配置文件(只有值不同):

在此输入图像描述

我的应用程序不断从 appsettings.json 获取值。为了从 appsettings.Developement.json 获取值,需要更改什么?

我也这样尝试过,但也没成功:

    static void BuildConfig(IConfigurationBuilder builder)
    {
        builder.SetBasePath(Directory.GetCurrentDirectory())
           .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
           .AddJsonFile("appsettings.Development.json", optional: true)

            .AddEnvironmentVariables();
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?文件已正确复制到 …

c# config appsettings .net-core asp.net-core

7
推荐指数
2
解决办法
7510
查看次数

无法从根提供程序解析范围服务。ASP.NET MVC 应用程序

我正在使用 Adam Freeman 的 Pro ASP.NET Core MVC 6th Edition 做 Store 应用程序。书中的例子是用Core 1.0制作的,我使用的是Core 3.0。在尝试将数据播种到我的数据库 (entityFramework) 时,出现如下错误。

System.InvalidOperationException: '无法从根提供程序解析范围服务 'BookStore.Models.ApplicationDbContext'。

下面是我的代码:

 public class SeedData
    {
        public static void EnsurePopulated(IApplicationBuilder app)
        {
            ApplicationDbContext context = app.ApplicationServices.GetRequiredService<ApplicationDbContext>();
            if (!context.Products.Any())
            {
                context.Products.AddRange(
                    new Product {
                        Name = "Witcher",
                        Description = "Geralt the Witcher",
                        Category = "Fantasy",
                        Price = 30 }
                    );
                context.SaveChanges();
            }
        }
Run Code Online (Sandbox Code Playgroud)

创业班:

public class Startup
{
    public IConfiguration Configuration { get; }

    public Startup(IConfiguration configuration, Microsoft.AspNetCore.Hosting.IHostingEnvironment env)
    {
        Configuration = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc dependency-injection

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