Мне нужно использовать DLL как API в моем приложении (С#,.NET 4.5). Я могу ссылаться на нормальную DLL. Никакой ошибки вообще. Но если я хочу использовать любой класс этой DLL, я получаю следующую ошибку компиляции:
Ошибка CS1705 Assembly 'Assembly_X' с идентификатором 'Assembly_X, Версия = 12.3.0.0, Культура = нейтральная, PublicKeyToken = c878e80841e75d00 ' использует 'Assembly_YY, Version = 65535.65535.65535.65535, Culture = neutral, PublicKeyToken = c878e80841e75d00 ', который имеет более высокую версию, чем ссылочная сборка "Assembly_YY" с личностью "Assembly_YY", Версия = 12.3.0.0, Культура = нейтральная, PublicKeyToken = c878e80841e75d00 '
Затем я проверил DLL (Assembly_X) в ILSpy. Assembly_X имеет две ссылки на Assembly_YY: один с версией 12.3.0.0 и один с версией 65535.65535.65535.65535.
Я попробовал "bindingRedirect" в App.config. Но поскольку ошибка возникает во время компиляции, это не помогает.
У меня нет исходного кода Assembly_X или Assembly_YY.
Как я могу использовать эту DLL или ее восстановить?
ОБНОВЛЕНИЕ
Разработчики dll, наконец, ответили на мой запрос о помощи. Единственная работа, о которой они знают, - это использовать Visual Studio 2013 вместо Visual Studio 2015 или 2017. Кажется, VS 2013 не беспокоит эта двойная ссылка вообще.
Они пишут, что ошибка создается средством шифрования для dll. Спасибо всем за ваши идеи и помощь.