Ссылка на внешняя .NET DLL, предоставляемая другим приложением на C #

У меня есть проект C #, который ссылается на DLL (назовите его внешней DLL), который поставляется с другим приложением. Когда я создаю свой проект, из-за ссылки внешняя DLL автоматически добавляется к выходным данным моего проекта. И когда я запускаю свой проект, он загружает внешнюю DLL из папки моего проекта.

Другое приложение, которому принадлежит внешняя DLL, разрабатывается другой командой, и DLL регулярно обновляется. Я не хочу упаковывать их DLL в свой проект. Вместо этого я хотел бы, чтобы мой проект загружал свою DLL при выполнении, а не выбирал копию DLL из папки моего проекта.

Теперь я знаю, что это возможно через отражение. Я знаю, что могу выполнить "Assembly.Load" и выбрать DLL. Но поскольку я использую типы из внешней DLL на протяжении всего кода, я хотел бы, чтобы код проверялся статически.

Вот что я хотел бы:

  1. Уметь компилировать мой проект, ссылаясь на внешнюю DLL и таким образом получить статическую проверку типа.
  2. Когда проект запускается, внешняя DLL берется из папки другого приложения, а не из копии DLL, которая находится в выходной папке моего проекта.

Есть ли способ решить Эта проблема? Есть ли какая-то золотая середина между добавлением ссылки и использованием отражения?

5
задан Rohit 2 August 2011 в 23:24
поделиться