VS如何让您选择以前的.NET框架?

时间:2015-11-18 22:27:46

标签: .net visual-studio

当最新版本是早期版本的就地替换时,Visual Studio如何让您选择以前的.NET框架版本。例如,假设我安装.NET 4.6,它是.NET 4,4.5,4.5.1和4.5.2的就地替代品,当我选择使用版本4时会发生什么?

3 个答案:

答案 0 :(得分:4)

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework中有“参考装配”,它们与旧版本具有相同的公共API,但没有任何实现。

在编写代码时,IntelliSense正在使用这些参考版本向您展示可用内容以及编译器错误是什么。但是,当代码实际编译时,“已安装”版本是实际使用和编译的版本。他们之所以能做到这一点,是因为他们对现有升级版本保持100%向后兼容性,因此针对4 API编写的任何内容都将在4.6 API中编译而没有错误。

答案 1 :(得分:2)

你有两件不同的事情:

  1. 您定位的是什么版本的.NET-Framework?您可以在属性中将其设置为目标框架。
  2. 运行应用程序时使用的是什么版本的.NET-Framework?
  3. 由于某些版本是就地安装的,即使您定位4.0(例如),并且安装了4.5,也会使用4.5运行应用程序。

    现在在Visual Studio中会发生什么?答案是有不同版本的参考组件。这样,Visual Studio就知道哪些程序集,方法等适用于所选的目标框架,并且只提供那些。

    请注意,应用程序(如上所述)实际上可能在4.5中运行。因此,虽然在定位4.0时无法直接使用它的新功能,但您可以通过Reflection使用它们(但为什么这样做?)并且可能还会遇到错误和错误。修复了4.5但不是4.0的错误。

答案 2 :(得分:-1)

通过选择旧版本,您将无法使用框架的最新功能。 但是,如果您不需要这些功能,例如,通过选择版本4,您的应用程序中未安装最新版本框架的用户将能够使用它而无需安装版本4.5.2或4.6。