У меня есть проект C #, который ссылается на DLL (назовем ее внешней DLL), которая поставляется с другим приложением. Когда я строю свой проект, из-за ссылки внешняя DLL автоматически добавляется в вывод моего проекта. И когда я запускаю свой проект, он загружает внешнюю DLL из папки моего проекта.
Другое приложение, к которому принадлежит внешняя DLL, разработано другой командой, и DLL регулярно обновляется. Я не хочу упаковывать их DLL с моим проектом. Вместо этого я хотел бы, чтобы мой проект загружал их DLL при выполнении, а не выбирал копию DLL из папки моего проекта.
Теперь я знаю, что это возможно посредством отражения. Я знаю, что могу сделать «Assembly.Load» и выбрать DLL. Но поскольку я использую типы из внешней библиотеки DLL во всем коде, мне бы хотелось, чтобы код подвергался статической проверке типов.
Вот что я хотел бы:
- Уметь компилировать мой проект, ссылаясь на внешнюю DLL и, таким образом, получать статическую проверку типов.
- Когда проект запущен, внешняя DLL берется из папки другого приложения, а не из копии DLL, которая находится в выходной папке моего проекта.
Есть ли способ решить эту проблему? Есть ли что-то среднее между добавлением ссылки и использованием отражения?