Ответ 1
Оказывается, я искал PreApplicationStartMethod! Спасибо всем!
В .NET есть что-то, что может автоматически запускать кусок кода в указанной сборке при загрузке сборки.
Например, вы можете иметь класс, украшенный каким-то атрибутом, который живет в проекте Foo (Библиотека классов). А Project Bar (Веб-приложение) просто ссылается на проект Foo. Когда Bar загружается, этот украшенный код в Foo запускается как-то. Я считаю, что это более новая функция.
Может кто-нибудь сказать, что называется этой функцией?
Обновление: Спасибо Shiva! Не инициализировать модуль. Хотя это привело меня к правильному ответу. PreApplicationStartMethod и поддерживается в .NET! Спасибо всем!
Оказывается, я искал PreApplicationStartMethod! Спасибо всем!
Вы случайно используете модуль Initializer? Они способны описать вещи, но кажется, что они не поддерживаются в С#. Они являются частью CLR да, но не являются частью языка С#.
Некоторые ссылки с дополнительной информацией и исследованиями:
http://blogs.msdn.com/b/junfeng/archive/2005/11/19/494914.aspx
.Net: запуск кода при загрузке сборки - благодаря J... для указания этой ссылки
Возможно, вы также посмотрели Fody. Fody - это "Расширяемый инструмент для плетения .net-сборок", который вы можете установить как пакет nuget. Существует надстройка для fody, называемая Инициализаторы модулей. Что под капотом использует в других ответах уже упомянутые инициализаторы модулей, но убирает переполнение.
Из документации:
Что он делает:
Находит класс в целевой сборке с именем ModuleInitializer
со следующей формой:
public static class ModuleInitializer
{
public static void Initialize()
{
//Init code
}
}
Затем он вводит следующий код в инициализатор модуля целевой сборки. Этот код вызывается, когда сборка загружается в память
static <Module>()
{
ModuleInitializer.Initialize();
}
Если вы не ошибаетесь, вы ищете "Инициализатор модуля". Проверьте этот вне
Вы ищете Инициализаторы модулей?