为了避免在我的 exe 文件中包含两个程序集,我将它们作为嵌入资源包含在我的 WPF 应用程序中。现在我可以通过这样做来加载第一个程序集:
static Assembly ResolveAssembly(object sender, ResolveEventArgs args)
{
string resourceName = "someDLLfileInResources";
using (Stream stream = parentAssembly.GetManifestResourceStream(resourceName))
{
byte[] block = new byte[stream.Length];
stream1.Read(block, 0, block.Length);
return Assembly.Load(block);
}
}
这有效,程序将在没有第一个 DLL 的情况下运行。现在,如果我对第二个 DLL 文件重复该过程,它将不再运行没有第一个(但是我不必包括第二个)。所以它似乎只适用于最后加载的程序集。我做错了吗?
谢谢