Я встраиваю IronPython в свое приложение C #. У меня почему-то возникают проблемы с загрузкой сборок. В частности, мне нужен System.dll, чтобы иметь доступ к классам .NET, таким как DateTime.
Если я попробую строку:
_runtime.LoadAssembly(_runtime.Host.PlatformAdaptationLayer.LoadAssembly("System"));
Я получил:
could not load file or assembly 'System'
Если я явно введу путь к C: /WINDOWS/Microsoft.NET /.../ System.dll, я получу:
The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
Итак, я попытался выполнить импорт с помощью clr внутри скрипта Python:
import clr
clr.AddReference('System')
from System import DateTime
И теперь я получаю:
Cannot import name DateTime
Где я ошибаюсь? Почему DateTime отсутствует в системе и почему LoadAssembly не может найти System.dll? Нужно ли мне явно указывать пути поиска для IronPython? Находит ли он недействительную «Систему»?
Все это отлично работает, когда я тестирую в интерпретаторе IronPython.