Как я могу заставить MEF использовать более новую версию OS System.Interactive.Asyn c .dll - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь загрузить компонент MEF в свой пакет Visual Studio с помощью CompositionContainer.SatisfyImportsOnce ().

Когда я вызываю эту функцию, я получаю сообщение об ошибке System.Reflection.ReflectionTypeLoadException и в исключениях LoaderException появляется сообщение

Не удалось загрузить файл или сборку 'System.Interactive.Asyn c, Версия = 3.0.1000.0, ...

Фактически, мой пакет уже содержит версию System.Interactive.Asyn c .dll 3.1.1.0, которая, я думаю, была загружена пакетом nuget Google.Cloud.Translation.V2. Похоже, что существует конфликт между двумя версиями 3.1.1.0 и 3.0.1000.0.

Я попытался решить эту проблему, добавив ProvideBindingRedirection в мой файл assemblyinfo.cs,

[assembly: ProvideBindingRedirection(AssemblyName = "System.Interactive.Async",
           NewVersion = "3.1.1.0", OldVersionLowerBound = "0.0.0.0", OldVersionUpperBound = "3.0.1000.0")]

но при этом возникает ошибка компилятора

ошибка: CreatePkgDef: ошибка: ProvideBindingRedirectionAttribute: для NewVersion указано неверное значение.

Как мне удается загрузить компонент MEF?

...