У меня есть обычное приложение ASP.NET MVC (.NET версия 4.5.2) Web.config:
<httpRuntime targetFramework="4.5.2"/>
Для одного из усовершенствований мне пришлось ссылаться на старый компонент безопасности, который был построенв .NET 2.0, который ссылается на «LinqBridge.dll».Теперь мое веб-приложение уже знает о методах расширения Linq из сборки System.Linq.Когда я компилирую свое веб-приложение, оно прекрасно компилирует и копирует «LinqBridge.dll» в мою корзину.На моей странице CSHTML у меня есть код "somevar.Count ()".Здесь метод Count () подчеркнут красным (та же ошибка, если я пытаюсь просто запустить веб-приложение и просмотреть эту страницу CSHTML - просто ради этого)
Ошибка
Ошибка CS0121 Вызов неоднозначен между следующими методами или свойствами: 'System.Linq.Enumerable.Count (System.Collections.Generic.IEnumerable)' и 'System.Linq.Enumerable.Count (System.Collections.Generic.IEnumerable).'
Теперь, если я удаляю "LinqBridge.dll" из bin, он работает, но когда я пытаюсь использовать этот старый код сборки, он отказывает.
Я застрял в этой проблеме.Есть ли способ, которым я могу сказать, чтобы мое веб-приложение не утруждало себя поиском / см. "LinqBridge.dll".Таким образом, только старая сборка будет использовать его, поскольку у него есть ссылка.Я не могу изменить версию или код 2-х проектов.
Пробовал с решением на базе кода https://devnet.kentico.com/articles/referencing-multiple-versions-of-the-same-assembly-in-a-single-application, но не повезло.