У меня есть приложение .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
Плагин C# не удается при переходных зависимостях при передаче регистратора основного приложения в плагин. Как избежать? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение