【发布时间】:2013-02-07 11:27:20
【问题描述】:
我遇到了这个异常,
System.IO.FileLoadException:由导入的过程 无法加载“GeometryUtils.dll”
尝试拨打Activator.CreateInstanceFrom(geomUtilsAssemblyPath, "GeometryUtils.IsmRegionFactory");时
我可以看到 GeometryUtils.dll 是使用进程资源管理器及其依赖项加载的。 Dependency Walker 和 Reflector 也没有报告任何问题。
仅供参考,GeometryUtils 是使用 .NET 4.0 构建的,调用过程是使用 .NET 2.0 构建的。所以我已经指定了,
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
在可执行的配置文件中。
任何想法,可能发生什么?
【问题讨论】:
-
您不能从 .NET 2 进程调用 .NET 4 程序集。反之亦然。
-
此代码运行良好,即 .NET 2 处理加载的带有 LegacyV2Runtime 标记的 .NET 4 程序集。最近发生了一些变化,我无法弄清楚。
-
您将不得不更改 dll 的目标框架并重建解决方案。作为@leppie,您不能从 2.0 网络程序集调用 4.0 程序集。
-
伙计们,如果 .NET 2.0 处理 .NET 4.0 是不可能的,那么这个标签会做什么,
标签: c# .net fileloadexception