基于.net 2.0构建的exe是否可以引用基于.Net 4.0的DLL

时间:2011-11-17 13:14:58

标签: c# .net-4.0 .net-2.0

我有一个必须在.Net 2.0中构建的exe文件

这个exe可以引用基于.Net 4.0构建的DLL吗?

当我尝试这样做时,我收到编译错误,说“引用dll not found”

2 个答案:

答案 0 :(得分:4)

没有。您可以引用使用早期版本构建的程序集,但不能反过来。

答案 1 :(得分:3)

  

这个exe可以引用基于.Net 4.0构建的DLL吗?

没有。 .NET框架是向后兼容的,而不是向上兼容的,这似乎是正常的。为了使用针对.NET 4.0编译的程序集,您需要在CLR 4.0下运行您的应用程序。

所以回顾一下:

  • 当应用程序在CLR 4.0中运行时,您可以将.NET 2.0混合到.NET 4.0程序集
  • 当应用程序在CLR 2.0中运行时,您可以将.NET 2.0与.NET 3.5程序集混合使用(这是您的情况,因为可执行文件是针对.NET 2.0编译的)