1

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

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

4

1 回答 1

0

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

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

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

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

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

于 2012-06-30T08:34:34.950 回答