Assembly.Load + Dependencies

问题描述 投票:1回答:1

加载DLL及其引用时,我遇到了一个问题。场景是这样的:

我有一个C#库项目(我们称之为“ A”),它引用了另一个C#库项目(我们称之为“ B”)。这些项目的两个Dll都存储在Azure Blob存储中,但这实际上是无关紧要的。

作为我项目的一部分,我正在使用XslCompiledTransform.Transform。使用Assembly.Load加载dll A之后,我再次使用Assembly.Load加载dll B。

问题是执行Transform方法后,我不断收到错误消息,发现[,即使在我调用AppDomain.CurrentDomain.GetAssemblies();时出现该错误]注意,如果我从A删除B的依赖关系,一切正常,因此我们可以确保仅使用dll A的Transform正常工作。

FileNotFoundException:无法加载文件或程序集'xxx,版本= 1.0.0.0,文化=中性,公钥令牌=空'或其中之一依赖性。系统找不到指定的文件。

还有一件事,如果我将dll B添加到项目的Bin文件夹中,则它可以工作,但是,当然,我不能这样做,我只是这样做来证明它可以工作。

加载DLL及其引用时,我遇到了一个问题。场景是这样的:我有一个C#库项目(称为“ A”),该项目引用了另一个C#库项目(称为“ B”)。 ...

c# reflection .net-assembly
1个回答
0
投票
如@Luaan所解释,我必须使用AppDomain.AssemblyResolve并返回正在加载的程序集。
© www.soinside.com 2019 - 2024. All rights reserved.