Я понимаю, что здесь есть несколько связанная тема: Загрузка сборок и их зависимостей
Но я что-то модифицирую, и это не совсем так.
string path = Path.GetDirectoryName( pathOfAssembly );
Environment.CurrentDirectory = path;
Assembly.Load(Path.GetFileNameWithoutExtension(pastOfAssembly));
Есть ли на самом деле причина, по которой вы бы так поступили? Разве не имеет смысла просто использовать:
Assembly.LoadFile(pathOfAssembly);
Приветствуется любое понимание.





Похоже на «Отдел резервирования».
Гораздо больше кода, чем необходимо. Меньше - больше!
Редактировать: Если задуматься, возможно, у загружаемой сборки есть зависимости, которые находятся в собственной папке, которые могут потребоваться для использования первой сборки.
Это может быть необходимо при разработке службы Windows. Рабочий каталог службы по умолчанию -% WinDir%, поэтому, если вы хотите загрузить сборку из каталога, в котором находится исполняемый файл службы, это правильный путь.