【发布时间】:2020-06-02 20:42:10
【问题描述】:
我有一个名为 PcapNet.dll 的 .net dll 文件,该文件是 C++ WanPacket.dll 库的包装器。
但是PcapNet.dll 是用.net3.5 构建的,
每次我在现代 .net 应用程序中引用它eg, .net 4.7
向我显示此消息:
System.IO.FileLoadException: '混合模式程序集是针对运行时版本'v2.0.50727'构建的,如果没有其他配置信息,则无法在 4.0 运行时中加载。'
然后我添加了
<supportedRuntime version="v2.0" sku=".NETFramework,Version=v2.0"/>
到App.config。
这显示了下一条消息:
System.IO.FileLoadException:'无法加载文件或程序集'PcapNet.dll'或其依赖项之一。动态链接库 (DLL) 初始化例程失败。 (来自 HRESULT 的异常:0x8007045A)'
然后我将 TargetFrameWork 更改为 3.5。现在一切正常。我可以使用它。
但这是一个大问题,我不能坚持使用.net 3.5 我需要4.7,因为我将在wpf 应用程序中使用它。
那么我如何将这个遗留库 3.5 与现代 .net 4.7 一起使用。
注意:我没有这个库的源代码,只能访问dll。
【问题讨论】:
-
您是在 32 位还是 64 位模式下编译您的应用程序?
标签: c# .net .net-assembly