Использование класса запуска в консольном приложении ASP.NET5

Возможно ли для консольного приложения ASP.NET 5-бета4 (созданного из шаблона проекта консоли ASP.NET в VS2015) использоватьStartup класс для обработки услуг регистрации и настройки деталей конфигурации?

Я пытался создать типичныйStartup класс, но он никогда не вызывается при запуске консольного приложения черезdnx . run или внутри Visual Studio 2015.

Startup.cs довольно много:

public class Startup
{
  public Startup(IHostingEnvironment env)
  {
    Configuration configuration = new Configuration();
    configuration.AddJsonFile("config.json");
    configuration.AddJsonFile("config.{env.EnvironmentName.ToLower()}.json", optional: true);
    configuration.AddEnvironmentVariables();

    this.Configuration = configuration;
  }

  public void ConfigureServices(IServiceCollection services)
  {
    services.Configure<Settings>(Configuration.GetSubKey("Settings"));

    services.AddEntityFramework()
            .AddSqlServer()
            .AddDbContext<ApplicationContext>(options => options.UseSqlServer(this.Configuration["Data:DefaultConnection:ConnectionString"]));
  }

  public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
  {
    loggerFactory.AddConsole(minLevel: LogLevel.Warning);
  }
}

Я пытался вручную создатьStartup класс в моемMain метод, но это не похоже на правильное решение и до сих пор не позволило мне настроить службы.

Я предполагаю, что есть какой-то способ для меня создатьHostingContext он не запускает веб-сервер, но поддерживает консольное приложение. Что-то вроде:

HostingContext context = new HostingContext()
{
  ApplicationName = "AppName"
};

using (new HostingEngine().Start(context))
{
  // console code
}

Однако до сих пор единственный способ заставить это работать, если я установлюHostingContext.ServerFactoryLocation вMicrosoft.AspNet.Server.WebListener, который запускает веб-сервер.

Ответы на вопрос(1)

Ваш ответ на вопрос