C# 为什么我要使用Assembly.LoadFile代替Assembly.LoadFrom?

C# 为什么我要使用Assembly.LoadFile代替Assembly.LoadFrom?,c#,assembly-resolution,C#,Assembly Resolution,我的印象是使用ApplicationBase和PrivateBinPath。这也是我的印象,Assembly.LoadFile没有 为什么会有人想使用LoadFile?换句话说,如果我的理解是正确的,为什么有人不想使用ApplicationBase和PrivateBinPath 我正在处理一些使用LoadFile的现有代码,我不明白它为什么会这样做。LoadFile显然不从同一目录加载依赖项。LoadFrom方法确实加载依赖项(从文档:从上下文加载…允许找到并加载该路径上的依赖项,因为路径信息由

我的印象是使用ApplicationBase和PrivateBinPath。这也是我的印象,Assembly.LoadFile没有

为什么会有人想使用LoadFile?换句话说,如果我的理解是正确的,为什么有人不想使用ApplicationBase和PrivateBinPath

我正在处理一些使用LoadFile的现有代码,我不明白它为什么会这样做。LoadFile显然不从同一目录加载依赖项。LoadFrom方法确实加载依赖项(从文档:从上下文加载…允许找到并加载该路径上的依赖项,因为路径信息由上下文维护。)我想将其从使用LoadFile转换为使用LoadFrom

如果我用LoadFrom替换LoadFile,可能会出现什么问题

即使它是良性的,也可能是因为我不能仅仅根据项目进度进行替换。如果我不能用LoadFrom替换LoadFile,有没有办法说服用LoadFile加载的程序集加载依赖项?我是否可以使用一种打包技巧(嵌入式程序集、ILMerge、AssemblyResolve事件等)来允许使用LoadFile加载的程序集也加载其依赖项

小心——这些不一样 事情

LoadFrom()经过融合,可以 被重定向到另一个程序集 不同的路径,但有相同的路径 标识(如果已加载) 从上下文加载。加载文件() 完全不能通过融合结合- 装载机只是继续装载 正是来电者要求的。信息技术 既不使用加载,也不使用 从上下文加载


除了Madhur Ahuja的答案之外,请注意,在大多数情况下,您希望使用的实际上是
Assembly.Load