Ссылка на сторонние собрания из разных папок, не перераспределениеC#

Место общения программистов C#
Anonymous
 Ссылка на сторонние собрания из разных папок, не перераспределение

Сообщение Anonymous »

Я создал приложение на основе плагинов по принципам, описанным здесь:
https://learn.microsoft.com/en-us/dotne ... in-support < /p>
Это гарантирует, что каждый плагин загружен в свой собственный контекст, чтобы плагины могли успешно использовать сборки с противоречивыми версиями между плагины.
Один из моих плагинов использует сторонний DLL, который мне не разрешают перераспределить, поэтому пользователям необходимо загрузить это (и лицензию на использование).
Если бы это было автономное приложение, которое регулярно работает в Windows/Linux, это не вызовет каких -либо проблем, поскольку я мог бы направить пользователей копировать DLL непосредственно в ту же папку, что и плагин. < бренд /> Я хочу создать это как общедоступное изображение Docker, которое предотвращает копирование пользователей непосредственно в папку плагина. В папке «Данные», которая будет сопоставлена ​​в контейнер Docker (где будут записаны журналы). Ссылка на сборку в файле проекта работает просто отлично: < /p>

Код: Выделить всё


..\..\data\lib\Some3rdParty.dll
false
runtime


< /code>
Все хорошо компилируется. 
, что не удивительно, так как он не скопирован в папку плагина при создании решения (что правильно, поскольку я не могу перераспределить его):

system.Reflection.ReflectionTypeloAdexception: невозможно загрузить один или несколько запрашиваемых типов. Сделайте ссылку на плагин с сторонней сборкой и загрузите его из совершенно другой папки, в то время как мое основное приложение может загрузить плагин без ошибок?

Подробнее здесь: https://stackoverflow.com/questions/794 ... istributin

Вернуться в «C#»