Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# dotnet core autofac和json配置可以在控制台应用程序中一起工作吗_C#_Asp.net Core_.net Core_Autofac - Fatal编程技术网

C# dotnet core autofac和json配置可以在控制台应用程序中一起工作吗

C# dotnet core autofac和json配置可以在控制台应用程序中一起工作吗,c#,asp.net-core,.net-core,autofac,C#,Asp.net Core,.net Core,Autofac,我一直在尝试将一些依赖项注入到我的.net核心控制台应用程序中,并使用appsettings.json文件 然而,我找不到一个两者结合的例子 下面是一个方法,我必须从我的Main() 您可以看到,我有builder2变量来设置配置文件,但是我需要builder变量来进行依赖项注入 有什么想法吗?Autofac提供了一个ConfigurationModule类,可以使用ConfigurationBuilder提供的Iconfiguration构建该类 // Add the configuratio

我一直在尝试将一些
依赖项注入
到我的
.net
核心控制台应用程序中,并使用
appsettings.json文件

然而,我找不到一个两者结合的例子

下面是一个方法,我必须从我的
Main()

您可以看到,我有builder2变量来设置配置文件,但是我需要builder变量来进行依赖项注入

有什么想法吗?

Autofac提供了一个
ConfigurationModule
类,可以使用
ConfigurationBuilder提供的
Iconfiguration
构建该类

// Add the configuration to the ConfigurationBuilder.
var config = new ConfigurationBuilder();
config.AddJsonFile("autofac.json");

// Register the ConfigurationModule with Autofac.
var module = new ConfigurationModule(config.Build());
var builder = new ContainerBuilder();
builder.RegisterModule(module);

// configure whatever you want at runtime the ContainerBuilder
builder.RegisterType<Foo>().As<IFoo>(); 

// build the container 
IContainer container = builder.Build(); 
//将配置添加到ConfigurationBuilder。
var config=new ConfigurationBuilder();
config.AddJsonFile(“autofac.json”);
//向Autofac注册ConfigurationModule。
var module=newconfigurationmodule(config.Build());
var builder=new ContainerBuilder();
生成器注册表模块(模块);
//在运行时在ContainerBuilder中配置所需的任何内容
builder.RegisterType().As();
//构建容器
IContainer容器=builder.Build();
在这种情况下,您将在autofac.json文件中配置注册,并在代码中配置注册


有关更多详细信息,请参见

您读过这篇文章吗?还请注意文档中的这句话:“当无法在编译时选择或配置具体类时,建议使用JSON或XML。”。您可能可以在:Thank@Cyril获得解决方案。一个问题。autofac.json我不太清楚我在用这个文件做什么,因为我很高兴所有的注册都在线。但是我的application.json属于哪里?autofac.json看起来只包含autofac代码,不包含应用程序变量。如果您愿意将所有注册都内联,为什么要使用json配置文件?这是一项可选功能,Autofac不需要它。如果您不需要,请不要配置
ConfigurationModule
module:)也许我应该在问题中进一步解释我的歉意。我不想将autofac配置放在json中,但我想使用appsettings.json(即应用程序设置)。很像web.config。我看到过使用appsettings.json和强类型等的例子,但在使用依赖注入时并没有看到。我相信这是可能的,但我只是缺少代码中的链接。
// Add the configuration to the ConfigurationBuilder.
var config = new ConfigurationBuilder();
config.AddJsonFile("autofac.json");

// Register the ConfigurationModule with Autofac.
var module = new ConfigurationModule(config.Build());
var builder = new ContainerBuilder();
builder.RegisterModule(module);

// configure whatever you want at runtime the ContainerBuilder
builder.RegisterType<Foo>().As<IFoo>(); 

// build the container 
IContainer container = builder.Build();