长话短说,我有一个基于控制台的应用程序,它必须向后兼容 XP。它在 .net 4.0 中编译
我需要 4.5 的功能来进行 zip 管理,并且不能是第三方。我已将功能添加到 .net 4.5 编译的 dll
有没有可能让这两个“说话”和“玩得好”
.dll
s 不同的框架当然可以毫无问题地进行交互......但是,在你的情况下,你不走运......
这.dll
将.NET 4.5
需要.NET 4.5 framework
安装在您的 XP 机器上。当然,你不能这样做。
所以答案是:不。
不,你不能那样做。它将跟随编译时错误。
“<类名>”无法解析,因为它是针对“.NETFramework,Version=v4.5”框架构建的。这是比当前目标框架“.NETFramework,Version=v4.0”更高的版本。</p>
在 2 种情况下是可能的,1 您正在为产品提供完整的安装程序,2 您需要的库没有使用目标机器上不可用的系统 dll
99.9999% 的时间这是不值得的
基本上,您需要做的是从未安装在目标计算机上的框架中安装所需的 Dll(请记住,所需的 Dll 定义为您需要的以及它们所依赖的每个)作为纯本地资源程序。
这可能意味着重新编译大量 .net DLL 以破坏框架链接
我个人建议使用像 sharpZiplib 这样的 3rd 方 zip libray