Я получил это поведение только из консоли IronPython. Когда я запускаю скрипт, это нормально. Когда я запускаю скрипт IronPython, sys.path содержит абсолютный путь к моему текущему рабочему каталогу, поэтому он работает. Когда я печатаю в консоли, sys.path включает только «.» для текущего рабочего каталога. Это может объяснить разницу в поведении.
В качестве хакерского решения я создал файл fixpath.py
"""This hacky script fixes the sys.path when I run the ipy console."""
import sys
import os
sys.path.insert(0, os.getcwd())
del sys
del os
Затем я установил переменную окружения IRONPYTHONSTARTUP с абсолютным путем к этому файлу. Затем всякий раз, когда я запускаю консоль IronPython, запускается этот скрипт, и мой sys.path
включает абсолютную ссылку на мой текущий рабочий каталог, а последующие вызовы clr.AddReference
работают правильно.