Как сослаться на сборку с несколькими версиями

Я разрабатываю приложение Sharepoint и использую библиотеку .NET AjaxControlToolkit, мы добавляем настраиваемую страницу aspx в Sharepoint. Sharepoint 2007 работает в режиме совместимости, поэтому я внес некоторые изменения в библиотеку AJAX, чтобы заставить ее вести себя так, как должно. Проблема в том, что другая команда уже использует библиотеку AJAX, и это другая версия, чем моя. Это вызвало конфликт, потому что в папке bin могла быть только одна dll с тем же именем.

Насколько я знаю, .NET должен легко справиться с этой ситуацией. Я пробовал использовать строгое имя и GAC для решения этой проблемы, но он по-прежнему ссылается на dll в папке bin. Если в папке bin нет AjaxControlToolkit.dll, приложение просто не сможет загрузить сборку.

Если я использую полную информацию о сборке на моем подобном

<%@ 
    Register 
    tagprefix = "AjaxControlToolkit"
    namespace = "AjaxControlToolkit"
    assembly = "AjaxControlToolkit, Version=1.0.299.18064, 
    PublicKeyToken=12345678abcdefgh, 
    Culture=neutral"
%>

Это дает мне ошибку компилятора CS0433

Может ли кто-нибудь помочь мне в использовании нескольких версий сборки в приложении?

Используете ли вы разные версии сборок в одном элементе управления? Или это один и тот же проект, но с разными элементами управления?

Machinegon 22.07.2013 18:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
20
1
4 894
1

Ответы 1

Ссылка на Ошибка компилятора CS0433 довольно ясно показывает, что основная проблема заключается не в нескольких версиях сборки, на которые ссылаются, а в конфликтах пространства имен + имени типа.

Когда вы загружаете / ссылаетесь на тип - компилятор не может решить, из какой DLL загрузить этот тип. Если Sharepoint будет загружать обе версии ваших DLL (как вы говорите, это необходимо) - эта ошибка будет появляться всегда.

Самым простым решением было бы изменить пространства имен в новой DLL, поскольку в ней есть ваши собственные настройки, и вы управляете кодом - также четко отметьте его.

Другие вопросы по теме