将.DLL绑定/附加到.EXE



我的项目是C#的,.dll也是C#的。我已经看到可以包含 dll 并在运行时从其他语言的 exe 中提取.dll。

我将如何在 C# 中实现这一点?

可以将

一个程序集作为资源文件嵌入到另一个程序集中(只需转到项目属性并打开资源部分)。

接下来,可以使用 Assembly.GetManifestResourceStream() 在运行时将资源文件检索到流中。

最后,可以在当前应用程序域中加载程序集,也可以使用 Assembly.Load(byte[])在单独的应用程序域中加载程序集(通过将资源流加载到字节数组中)。

因此,您可以直接从内存加载资源程序集,而无需先将其保存到磁盘。

现在,您可以使用其中一个Assembly.GetType重载从程序集加载类型。当然,您可能希望在主程序集和资源程序集之间定义一些协定,以便可以使用此程序集中的自定义类型。

最新更新