我在 VS2010 中使用 .NET 2.0 类库(我们称之为类库 A),它是包含许多 .NET 2.0 类库(B、C ..)的解决方案的一部分。
类库 A 引用了 B。
应用程序通过加载 A 的程序集并将其清单中的内容添加到当前应用程序域中来使用类库 A。
它通过覆盖 AssemblyResolve 事件(在找不到程序集时触发)并通过从清单的 A 流中读取 B 来加载 B 的库来实现这一点。
这适用于像这样引用的所有其他类库。
由于某种原因,类库 B(尽管在 A 的清单中引用)没有嵌入到 A 的清单中
我有一个类库 C,其中包含对类库 B 的引用,并如上所述成功加载。
类库 A 和类库 C 都具有以下内容:
.assembly extern FluorineFx
{
.ver 1:0:0:15
}
在 C 的清单中,有一个用于 lib B 的 .mresource,但在 lib A 的清单中却没有:
.mresource public ClassLibB.FluorineFx.dll
{
// Offset: 0x00000000 Length: 0x000EC000
}
如何确保 B 嵌入在 A 的清单中(最好来自项目的 IDE)?