AssemblyBinding в приложении .NET работает со старой версией, если новая версия недоступна? - PullRequest
3 голосов
/ 09 января 2010

Я указал привязку сборки для более новой версии сборки, используемой в моем приложении, и отлично работает.

Однако на одном из моих клиентских компьютеров новая версия этой сборки отсутствует, но вместо этого присутствует старая. Когда я пытаюсь запустить приложение, оно говорит, что не может найти новую версию, что, как мне кажется, нормально. Вопрос в том, как я могу сказать .NET Framework использовать старую версию, если новая версия недоступна?

Цель состоит в том, чтобы иметь уникальный файл конфигурации, который работает автоматически в зависимости от версии сборки, установленной на любом клиентском компьютере. Я хочу иметь уникальный файл конфигурации, который работает так:

  • если указанная сборка имеет версию 1, чем использовать эту версию 1.
  • если указанная сборка имеет версию 2, чем использовать эту версию 2.
  • ... и т. Д.

Я пытаюсь избежать изменения информации AssemblyBinding во время выполнения, в зависимости от установленной версии этой сборки.

Есть идеи? Спасибо.

1 Ответ

0 голосов
/ 02 февраля 2011

Вам нужно будет загрузить сборку во время выполнения, используя Assembly.Load или что-то в этом духе. Перенаправление сборки .NET не поддерживает операторы if, запасные варианты и тому подобное.

...