Как включить сущность frameword dll в мой экспортированный COM dll? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь создать COM DLL-объект из приложения WPF , чтобы иметь возможность открыть его из другого приложения.

Мне удалось успешно создать COM-объект как отдельный проект в моем решении, и я создал тестовую функцию, чтобы проверить, работает ли он. Итак, COM-объект успешно зарегистрирован, и я могу его использовать.

Моя проблема в том, что, когда я пытаюсь использовать COM-объект из python и вызывать функцию, которая запускает главное окно, я получаю следующую ошибку, связанную с entityframework:

"Не удалось загрузить файл или сборку" EntityFramework, версия = 6.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089 'или одна из его зависимостей. Системе не удалось найти указанный файл. "

Это код:

 TraceIt.App app = new TraceIt.App();
 app.InitializeComponent();
 TraceIt.MainWindow mw = new TraceIt.MainWindow();

Я также пытался загрузить сборку из файла .exe приложения, но получаю ту же ошибку:

FileStream fs = new FileStream(@"D:\tool\Common\TraceIt Ver 1.7.0\TraceIt.exe", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] bin = br.ReadBytes(Convert.ToInt32(fs.Length));
fs.Close();
br.Close();
Assembly a = Assembly.Load(bin);
Type myType = a.GetType("TraceIt.App");
MethodInfo method = a.EntryPoint;
if (method != null)
{
    object o = a.CreateInstance(method.Name);
    method.Invoke(o, null);
}

Из этого сообщения об ошибке я понимаю, что мне нужно как-то встроить сборку EF в мою COM DLL. Это верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...