为什么 .net 4.0 项目不能引用 4.5 程序集

本文关键字:引用 不能 程序集 项目 net 为什么 | 更新日期: 2023-09-27 18:30:35

我正在处理一个面向 .NET 4.0 的项目,现在我需要引用针对 .NET 4.5 构建的第三方 dll。看来视觉工作室不接受这一点?为什么?VS 向我显示当前上下文中不存在 dll 名称。

为什么 .net 4.0 项目不能引用 4.5 程序集

因为您引用的是更高版本。Microsoft可以是反向兼容的,但不能"未来兼容"。您需要将整个项目转换为更高的版本,以便能够使用该二进制文件。

不知道您确切地说的是哪种技术,但是如果asp.net,请考虑在vNext中,您可以在服务器上部署自己的云clr版本。因此,您可能有2个版本的应用程序,一个针对4.5,另一个4.0

介绍 vNext。如果这与您有关,请重复。

面向 .NET 4.0 的项目可以在 4.0 运行时上运行。面向 .NET 4.5 的 DLL 不能。

如果允许;您将能够构建似乎在 4.0 中工作的项目,并在尝试加载 4.5 组件时失败。

你可以引用相反的东西;因为4.0 DLL可以在4.5运行时中加载。

您需要从第三方请求 DLL 的 4.0 版本;或者以 .NET 4.5 为目标。

应用程序域将在 4.0 运行时下运行,因此无法引用较新的 dotnet 版本,只有相反的情况。

4.5 是不同的 .NET 运行时,因此无法在旧版本中加载 4.5。

您必须记住,运行时需要将中间语言 (IL) 解释为机器代码。如果 IL 是在 4.5 上创建的,则 4.0 运行时将不知道如何解释它。

在 4.5 中创建控制台应用,然后执行 4.0 中的 cmd 以从 4.5 获取所需的数据,这可能是一个快速的解决方案。不是想法,但它可以完成工作:)

相关文章: