Насколько я знаю, это невозможно с clr.AddReference
.
Если ваша сборка имеет модуль IronPython, вы можете запускать код при его импорте (например, __init__.py
).Модуль IronPython довольно прост в настройке:
[assembly: PythonModule("mymodule", typeof(MyModule))]
public static class MyModule
{
[SpecialName]
public static void PerformModuleReload(PythonContext/*!*/ context, PythonDictionary/*!*/ dict) {
// module initialization code
}
// variables, functions, classes, etc. that appear in the module
}
Не смущайтесь частью перезаписи имени;он вызывается при загрузке модуля, а также при каждой перезагрузке.
Если ваша сборка будет использоваться за пределами IronPython, вы можете поместить этот модуль в отдельную сборку, которая ссылается на ваш оригинальный модуль.Если вам нужны примеры написания модулей, проверьте исходный код проекта IronPython.Modules
на http://ironpython.codeplex.com.