appsettings.json 文件不在 .net core 控制台项目中

2024-02-09

据我所知,.net core 已将 app.config 文件替换为 appsetting.json。然而,这个文件似乎只是为 ASP.net 项目添加的。事实上,它甚至在添加项目列表中不可用。 我发现this https://blog.bitscry.com/2017/05/30/appsettings-json-in-net-core-console-app/发布需要添加的列表包:

  1. Microsoft.扩展.配置
  2. Microsoft.Extensions.Configuration.FileExtensions
  3. Microsoft.Extensions.Configuration.Json

我添加了所有这些,它确实给了我添加 json 配置文件的选项,但仍然不是App Settings File仅在 ASP.Net Core 下可用。 我试图理解为什么非 Web 项目不需要配置,以及配置 .net core 控制台应用程序的推荐方法是什么。 提前致谢。


非网络项目may or may not需要配置。但是,正如您所注意到的,Visual Studio 不会使用以下方式构建控制台项目appsettings.json。显然,您可以将其作为 json 文件添加到项目中。一旦拥有它,挑战就是如何利用它。我经常在实体框架实用程序中使用配置对象和依赖项注入。

例如,

public static class Program
{
    private static IConfigurationRoot Configuration { get; set; }

    public static void Main()
    {
        IConfigurationBuilder builder = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .AddEnvironmentVariables();
        Configuration = builder.Build();

        IServiceCollection services = new ServiceCollection();
        services.AddDbContext<MyDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
        services.AddScoped<IMyService, MyService>();
        IServiceProvider provider = services.BuildServiceProvider();

        IMyService myService = provider.GetService<IMyService>();
        myService.SomeMethod();
    }

    public class TemporaryDbContextFactory : IDesignTimeDbContextFactory<MyDbContext>
    {
        public MyDbContext CreateDbContext(string[] args)
        {
            IConfigurationBuilder configBuilder = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json")
                .AddEnvironmentVariables();
            IConfigurationRoot configuration = configBuilder.Build();
            DbContextOptionsBuilder<MyDbContext> builder = new DbContextOptionsBuilder<MyDbContext>();
            builder.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
            return new MyDbContext(builder.Options);
        }
    }
}

这允许我同时运行迁移and针对 DbContext 的基于控制台的实用程序。您没有指定您需要哪种配置 - 因此这只是一个示例。但希望您可以根据自己的需要进行调整。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

appsettings.json 文件不在 .net core 控制台项目中 的相关文章

随机推荐

  • 用CSS按比例调整图像大小,可能吗?

    有没有办法用 CSS 调整图像大小并保持其比例 容器有固定的宽度和高度 div class container img class theimage src something div 我问的原因是因为布局可以改变 通过类从列表到图标 并且
  • 枚举对继承的支持

    我经常遇到这样的情况 我们创建一个作用于某些枚举的类 但后来我们派生并希望在不更改基类的情况下向枚举添加更多值 我在2009年就看到过这个问题 基枚举类继承 https stackoverflow com questions 644629
  • 使 XStream 忽略一个特定的私有变量

    我目前正在为其编写保存函数的类有一个小问题 我正在使用 XStream com thoughtworks xstream 通过 DOMDriver 将类序列化为 XML 该类看起来像这样 public class World private
  • 如何制作 ToolStripComboBox 来填充 ToolStrip 上的所有可用空间?

    ToolStripComboBox 放置在 ToolStripButton 后面 后面是另一个右对齐的工具条组合框 如何最好地将 ToolStripComboBox 设置为始终调整其长度以填充前后 ToolStripButton 之间的所有
  • Mapbox:仅当注释在屏幕上可见时才添加注释

    我将注释数据存储在 Firebase 的数据库中 我发现只要注释没有自定义视图 我就可以下载 10 000 个注释的数据并将这些注释添加到我的地图中 而不会出现太大的延迟 然而 对于我的应用程序 我需要使用自定义视图 每个注释视图都是由多个
  • 从 pandas 数据框中制作多个饼图(每一行一个)

    我有一个数据框 df 显示与各种业务类别相关的情绪 我的任务是创建饼图 显示每种业务类型的情绪百分比 因此 我需要在 matplotlib 中创建一个函数 该函数读取 Business 列 然后使用数据框中每行的每个情感类别构建饼图 我已经
  • Wear OS 和 iOS 配套应用程序之间的直接通信

    我目前有一个适用于 Android 和 iOS 智能手机的应用程序 我想将其引入 Wear OS 和 Watch OS 由于 Wear OS 智能手表也与 iOS 设备兼容 因此我正在寻找一种在 Watch OS 应用程序和 iOS 应用程
  • 在表格/班级之间共享信息[重复]

    这个问题在这里已经有答案了 我知道标题问题并不独特 并且有很多可用的消息 我打开一个线程的原因是我真的很难根据我的项目来理解这个问题 最近 我尝试启动 WinForm 以从 REST API 获取值 就像在 Form1 上进行开始测试一样
  • 使用 dplyr::percent_rank() 计算组内的百分位数排名

    假设我有以下数据 id grpvar1 grpvar2 value 1 1 3 7 6 2 1 2 4 3 1 5 2 对于每个id 我想计算percent rank of its value在由组合定义的组内grpvar1 and grp
  • Windows ODBC 驱动程序 - 检索的表情符号数据呈现为?

    重复线程注释 我已经针对这个问题提出了类似的问题 通过 ODBC 连接检索的表情符号数据显示为问号 https stackoverflow com questions 58943772 emoji data retrieved via od
  • 聚合函数和其他列

    SQL 查询是否可以返回一些普通列和一些聚合列 like Col A Col B SUM 5 6 7 您应该使用按语句分组 http www w3schools com sql sql groupby asp GROUP BY 语句用于 与
  • 恢复活动时防止多次打开对话框

    在我的 Android 应用程序中 为了询问用户是否要恢复当前游戏 我在主游戏活动中显示一个对话框 显示 您要恢复当前游戏吗 是 否 问题是 如果我在不回答对话的情况下多次恢复此活动 那么我会收到几个对话 一个个对话 这显然不是我的目标 我
  • 如何将 XPath 与 AS3 结合使用并获得仍然引用 XMLDocument 对象的结果?

    我正在将 XML 字符串解析为 XMLDocument 对象 我想使用 XPath 技术搜索特定节点XPathQuery execQuery 此函数返回新的 XML 对象 这意味着我需要将其转换为不同的 XMLDocument 对象并丢失引
  • 升级到 Grails 2.4.4 的问题

    从 Grails 2 4 3 升级到 2 4 4 后 启动 Grails 应用程序时不断出现错误 完整的错误可以在这里阅读 http pastebin com UXQ34JKD http pastebin com UXQ34JKD 2014
  • javascript 的 Jquery 参数替代方案

    我需要转换以下类型字典 key1 value1 key2 value1 value2 to key1 value1 key2 即发布数据表格 我在 chrome 扩展中执行此操作 上面的表单数据字典由以下方式返回 chrome webReq
  • Facebook 无效范围错误

    我用 Rails 应用程序创建了一个 V2 3 的应用程序 4月30日前一切正常 现在我收到此错误 无效范围 offline access publish stream create event 朋友 活动 此消息仅向开发人员显示 用户 如
  • 如何判断虚拟地址在 ARM Linux 内核中是否具有有效映射?

    我想检查是否可以在不引发分段错误的情况下取消引用虚拟地址 我所说的虚拟地址不仅仅是不可信的用户空间地址 我也想检查内核虚拟地址 在 x86 Linux 内核中 可以使用 virt addr valid 函数来检查是否 虚拟地址具有有效的映射
  • std::launder 可用于将对象指针转换为其封闭数组指针吗?

    当前的标准草案 大概是 C 17 说 基本 化合物 4 http eel is c draft basic compound 4 注意 数组对象及其第一个元素不可进行指针互换 即使它们具有相同的地址 尾注 所以指向对象的指针不能reinte
  • 对 UTF-8 字符串进行排序?

    我的 std strings 以 UTF 8 编码 因此 std string 不切掉的地方是重音符号 出现在 z 后面 但它不应该出现在 z 后面 Thanks 如果您不需要字典顺序 这就是按字典顺序对 UTF 8 编码字符串进行排序的结
  • appsettings.json 文件不在 .net core 控制台项目中

    据我所知 net core 已将 app config 文件替换为 appsetting json 然而 这个文件似乎只是为 ASP net 项目添加的 事实上 它甚至在添加项目列表中不可用 我发现this https blog bitsc