在我的 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)
有人可以帮忙吗?文件已正确复制到 …
我正在使用 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)