AssemblyResolve пытается получить версию, отличную от той, которая указана в Assembly.Load.C#

Место общения программистов C#
Ответить
Гость
 AssemblyResolve пытается получить версию, отличную от той, которая указана в Assembly.Load.

Сообщение Гость »


У меня есть собственный код разрешения ассемблера, который работает некорректно. Сначала я запускаю фрагмент кода, который пытается обнаружить все сборки, на которые ссылается данная библиотека C#, и, похоже, возвращает правильные результаты. Затем я пытаюсь загрузить эти библиотеки, на которые имеются ссылки, чтобы обнаружить другие необходимые библиотеки (по сути, я пытаюсь создать список ВСЕХ библиотек, которые могут понадобиться данной DLL).

В этом конкретном случае у меня есть ссылка на объект Assembly на SomeAssembly.dll, версия 1 (которая, по-видимому, является правильной версией). Однако при запуске Assembly.Load по этой ссылке я ввожу событие AssemblyResolve с ResolveEventArgs, указывающим на SomeAssembly, версия 2. Попытка загрузить «ожидаемую» версию (т. е. версию 1) приводит к сбою.

а) Зачем C# менять версию таким образом?
б) Могу ли я «переопределить», какую версию я хочу загрузить в событии AssemblyResolve?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»