我对
我原以为,由于
当我调用
Assembly.LoadFrom
的行为感到困惑。在我的应用程序中,我调用 Assembly.LoadFrom
来加载 .NET .exe
并使用 EntryPoint.Invoke
启动它(这种奇怪的方法对于在非 Windows 平台上构建 启动器 应用程序很有用)。我原以为,由于
assemblyFile
在不同的文件夹中,它将无法找到与其位于同一文件夹中的某些 托管 .dll
依赖项。但是它起作用了;它没有失败...当我调用
Assembly.LoadFrom(assemblyFile)
时,它似乎检查包含 assemblyFile
的文件夹,以查找 assemblyFile
的 托管 依赖项。我没有预料到这一点。如果该程序集具有非托管依赖项(例如DllImport
),它是否仍会搜索同一目录?这个行为是否特定于框架?
DllImport
。当最终解析DllImport("MySweetLibrary.dylib")
时,它会知道它来自遥远目录中的assemblyFile
,并搜索该目录吗?我猜它不会。 - Mr. Smith