Используя MVC5, было очень легко создать проект загрузчика со ссылками на все уровни, тем самым отделив слой пользовательского интерфейса от ссылок, скажем, на логику инфраструктуры. Проект будет содержать логику конфигурации запуска, например настройку контейнера IoC.
Способ сделать это состоял в том, чтобы определить класс запуска:
public class Startup
{
public static void Start()
{
// startup configuration (IoC etc) goes here
}
}
Затем добавьте строку в AssemblyInfo.cs
:
[assembly: PreApplicationStartMethod(typeof(Startup), "Start")]
К сожалению, этот подход больше не работает с asp.net 5. Я бегло просмотрел документацию, но все, что я узнал, это то, что фреймворк ищет класс с именем Startup в веб-проекте.
Я также просмотрел Microsoft.AspNet.Hosting
исходный код, который кажется, отвечает за поиск класса Startup. Я вижу некоторые ссылки на класс конфигурации, поэтому есть вероятность, что сборку можно загрузить с помощью какого-либо параметра конфигурации, но я не смог подтвердить это или определить, какой именно параметр.
Кроме того, если это правда, как можно определить класс Startup с помощью файла config.json
, когда сам файл загружается в классе Startup? Существуют ли различные варианты настройки начальной сборки, например, с использованием переменной среды?