Плагин C# не удается при переходных зависимостях при передаче регистратора основного приложения в плагин. Как избежать?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Плагин C# не удается при переходных зависимостях при передаче регистратора основного приложения в плагин. Как избежать?

Сообщение Anonymous »

У меня есть приложение .net 9.0.2, которое следует использовать плагины, как описано в документации на https://learn.microsoft.com/en-us/dotne ... in-support.> Это работает с общим проектом между приложением и плагинами для плагинов для плагинов. Интерфейс Я хочу передать Ilogger или IloggerFactory в плагин, чтобы плагин мог писать регистрацию, которая будет отображаться в журнале моего основного приложения. Из -за этого общий проект ссылается на Microsoft.extensions.logging. < /P>
Мой первый плагин очень прост и настроен в соответствии с руководством и работает нормально и может регистрировать строки в файле журнала моего приложения. Причиной является время выполнения False EN в ссылке на общий проект в проекте плагина, он только строит сборку плагина в выходной каталог и не добавляет сборку интерфейсов плагинов или его зависимости и использует таковые из приложения. В одном из этих пакетов Nuget также используется microsoft.extensions.logging. Я не контролирую, как строит Nuget, я просто добавляю его. Когда я сейчас строю второй плагин, моя выходная папка не содержит общих интерфейсов и ни одной из сборок, которые он ссылается, что хорошо. Тем не менее, он содержит сборку из пакета Nuget, включая все ссылки, а также Microsoft.extensions.Logging Assembly, на которую он ссылается. При загрузке и использовании этого второго плагина приложение не удается, потому что iloggerfactory из плагина больше не совпадает с iloggerfactory приложения (даже если они оба 9.0.2).
Использование исключений в пакете, конечно же, не является вариантом, потому что весь пакет Nuget исключен из выхода, а затем не запускается. Пакеты всех плагинов, которые я буду загружать в свое приложение (потому что тогда нет смысла в создании/использовании плагинов).
Как я могу решить это, чтобы он использовал Microsoft.extensions.logging из приложения в этом сценарии, но я все еще могу использовать пакет Nuget в своем плагине?

Подробнее здесь: https://stackoverflow.com/questions/795 ... f-main-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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