Приложение на .net 4.6.1 не запускается на некоторых ПК из-за MEF. Проект Gemini

Я использую System.ComponentModel.Composition и атрибуты [Export] в своем проекте чистая 4.6.1. Также есть сторонний проект, который отвечает за интерфейс - Gemini (netcore3;.net461). На моем пк и 95% пользователей все хорошо, но у некоторых, программа работает просто нестабильно, такое ощущение, что некоторые Export просто не срабатывают.

Путем отлова ошибок, выяснилось следующее: У меня есть статический класс где я определяю элемент Меню

[Export]
public static MenuDefinition MainToolsMenu = new MenuDefinition(Gemini.Modules.MainMenu.MenuDefinitions.MainMenuBar, 2, Resources.Menu);

в проекте Gemini также есть статический класс, где определяется

[Export]
public static MenuBarDefinition MainMenuBar = new MenuBarDefinition();

Вот в своем проекте, я ссылаюсь на MainMenuBar, но там Null. И это происходит только на некоторых ПК. Я проверял тысячу раз на своем ПК и порядок выполнения кода был нормальный. Сначала MainMenuBar из dll, а потом MainToolsMenu из моего основного проекта. Поэтому конфликта нет.

Почему может такое происходить и куда копать? Это только вершина проблемы. Я пытался убирать ссылки, просто не использовать Меню, но тогда проблемы возникают в других частях проекта, везде где я ссылаюсь на проект Gemini или его производных, исполняющий файл говорит, что он просто не может найти эти dll.


Ответы (0 шт):