如何将实体frameword dll包含到导出的COM dll中?

时间:2019-05-23 14:50:42

标签: c# wpf mvvm com entity-framework-6

我正在尝试从WPF应用程序创建一个 COM DLL对象,以便能够从另一个应用程序中打开它。

我设法在解决方案中成功地将COM对象创建为一个单独的项目,并创建了一个测试函数以查看其是否有效。因此,COM对象已成功注册,我可以使用它。

我的问题是,当我尝试使用python中的COM对象并调用启动主窗口的函数时,出现以下与entityframework相关的错误:

“无法加载文件或程序集'EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。系统找不到指定的文件。” < / p>

这是代码:

 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中。是吗?

0 个答案:

没有答案