好的,这是一个相当广泛的问题,但是......是否有图表说明框架的哪个版本会运行什么?
所以,我想它会扼杀两个问题
1 - 框架是否100%向后兼容?我有一个Framework 2.0网站运行1.1 dll,所以我认为2.0将运行1.1。这适用于Windows应用程序吗?它适用于所有版本吗?
2 - 框架是否向前兼容?我知道上面的相反方法不起作用,但它适用于任何一组版本吗?
那么,保持客户机器上的版本与构建版本同步有多重要?
.net社区是否有最好的实践,如何让您的软件为大多数客户服务,而不强迫非技术用户下载更新/不同版本的.net框架?
答案 0 :(得分:4)
根据经验,如果.NET版本X与.NET版本Y并排安装,则.NET版本X与.NET版本Y不兼容(向后或向前)。这是规则I已经使用了相当长的一段时间(自.NET 2.0问世以来)。对于小规模的应用来说,它可能过于安全了,但最好是安全而不是抱歉。
以下是一些具体的例子:
.NET 2.0不会运行.NET 1.1
.NET 4.0与.NET 3.5 / 3.0 / 2.0和.NET 1.1并行安装
希望这有帮助。
答案 1 :(得分:1)
IMO,迄今为止的“主要”版本是:
不同线路上的框架并排安装,不会相互运行;只要主机至少安装了组件的版本,同一行上的那些可以互换使用。
所有.NET版本目前都附带Windows - 它们现在被视为操作系统的一部分并遵循其生命周期。 (请参阅http://support.microsoft.com/lifecycle/search/?alpha=.NET+Framework&sort=PN)如果您的用户一直保持他们的计算机是最新的,那么使用最新的.NET Framework版本应该没有问题。
对于1.0以上的配置文件,请确保包含<supportedRuntime>
元素:http://msdn.microsoft.com/en-us/library/w4atty68.aspx
正如Jim Schubert在他的评论中提到的,你的C#代码可以在更高版本上编译,但是有一些重大变化。
答案 2 :(得分:0)
没有在任何地方看过图表,但一般情况下,您不必担心向后兼容性。唯一重要的是确保您的客户安装了最小的框架。
不,没有.NET版本是向前兼容的。