Мы создаем плагин для программного обеспечения, которое было создано для .NET 3.5. В этом плагине мы ссылаемся на сторонний .DLL, который работает для .NET 3.5. Основное программное обеспечение теперь построено на .NET 4.0, а сторонний .DLL разделен на два .DLL.Assembly Resolve
Что мы хотим избежать, есть два отдельных решения с почти одинаковым кодом (один построен на .NET 4.0, ссылающийся на 4,0 DLL и один на 3.5, ссылающийся на 3,5 DLL). Не все наши клиенты собираются перейти на новейшую версию программного обеспечения, которое мы создаем плагины сразу, некоторые могут ждать лет.
ВОПРОС EDITED:
Есть ли способ, чтобы продолжать строить на .Net 3.5 ссылки на 3.5 DLL, а затем во время выполнения выполнить некоторые сборки решительность, чтобы загрузить два .NET 4.0 библиотеки DLL в месте первоначального?
Мы хотим/должны продолжать строить до рамки 3.5, чтобы предыдущие версии основного программного обеспечения продолжали загружать наш плагин. Если мы построим до 4.0, то более старые версии выдадут ошибку при попытке загрузить наш плагин, потому что его сборка в более позднюю структуру.
Вы на самом деле пробовали это или вы просто догадываетесь, что может возникнуть проблема? Если вы это сделали, то, что * точно * является сообщением об ошибке? –
Когда я пытаюсь загрузить плагин 4.0 с более старой версией программного обеспечения, я получаю следующие ошибки: Невозможно загрузить сборку. Сведения об ошибке: System.BadImageFormatException: не удалось загрузить файл или файл сборки: /// C: \ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll 'или одну из его зависимостей. Эта сборка построена с использованием среды , новее, чем текущая загруженная среда выполнения, и ее нельзя загрузить. Имя файла: 'file: /// C: \ Users \ ******* \ Documents \ Visual Studio 2010 \ Projects \ RandomProjects \ A2013Testing \ bin \ Debug \ A2013Testing.dll' at System.Reflection. –