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

我正在开发一个针对.NET 4.0的项目,现在我需要引用一个针对.NET 4.5构建的第三方dll。 似乎visual studio不接受这个? 为什么? VS告诉我当前上下文中不存在dll名称。

因为您引用了更高版本。 微软可以兼容,但不兼容“未来兼容”。 您需要将整个项目转换为更高版本,以便能够使用该二进制文件。

不知道你正在谈论什么技术,但如果是asp.net ,请考虑在vNext中,你可以在服务器上部署自己的cloud 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运行时加载。

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

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

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

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

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