我做了一些搜索,想知道.NET框架是否具备向后兼容性。
真正的问题是,如果有一个程序使用.NET Framework 1.1,我能否安装3.5并完成操作,还是必须安装1.1,如果某些东西使用3.5,我还必须安装3.5?
真正的问题是,如果有一个程序使用.NET Framework 1.1,我能否安装3.5并完成操作,还是必须安装1.1,如果某些东西使用3.5,我还必须安装3.5?
很遗憾,您需要安装两个版本。旧版框架不会自动捆绑在新版中。
我认为,如果您安装了3.5框架,您会得到与2.0框架相反的一切内容。 3.5(和3.0)框架运行在2.0 CLR上,因此您实际上是在2.0运行时之上获得了3.0和2.5的额外好处。
您必须单独安装1.1框架。
您可以在此处查看已安装的版本:C:\Windows\Microsoft.NET\Framework
如果您安装了需要3.5的软件,那么您必须安装它。不过,.Net的工作方式是,您可以同时安装1.1、2.x和3.5版本。程序指定所需的框架版本,然后为它们加载该版本。
特别是在.NET 2.0中,许多.NET框架的东西都发生了变化(不仅仅是在语言层面上)。您需要版本1.1才能运行针对该版本链接的程序。
现在,如果您的程序的某些部分使用了.NET 3.5,并且您可以访问所有源代码,我建议您将整个应用程序移植到.NET 3.5并完成它。这可能需要更长的时间,但从长远来看,这将是值得的。
许多,也许是大多数,为.NET 1.1构建的应用程序将在后续版本的框架上运行。
但是有一些破坏性的变化,所以确保您为.NET 1.1构建的应用程序能否在.NET 2.0或更高版本上运行的唯一方法是进行测试。
微软记录了.NET 1.1和.NET 2.0之间已知的破坏性变化(请参见http://blogs.msdn.com/brada/archive/2005/11/14/492561.aspx),但是这些内容的链接似乎已经失效了 :(
而且我知道至少有一个由于错误而导致的未记录的破坏性变化。