编译.Net 2.0代码 - 如果客户端没有安装此代码会发生什么 - 它会默认吗?

时间:2011-11-14 16:33:58

标签: c# build

如果我编译代码并以C#2.0平台为目标,而客户端只有.NET 3.5,那么这个应用程序会加载并运行吗?

编辑:我知道.NET是向后兼容的 - 但我的问题仍然存在。如果我构建这个和目标框架.net 2.0但客户端只有.NET 4,那么CLR会加载它并使用.NET 4 CLR运行吗?

3 个答案:

答案 0 :(得分:2)

.NET 3.5 IS .NET 2.0 - 包含其他库。所以你应该没事。

答案 1 :(得分:0)

不,它不会出错。版本2.0包含在3.5版本中。

答案 2 :(得分:0)

版本控制方案存在一些怪癖。 基本上有三个CLR运行时: CLR 1(.Net 1-1.1附带)。 CLR 2(随.Net 2.0-3.5一起提供)。 CLR 4(.Net 4附带)。 这些数字之间的所有内容都只是对库的增量更改。 因此在您的示例中.Net 3.5与.Net 2.0相同,但包含更多库。通常这不是问题,因为您可以以某种方式打包您的项目,它将包括除.Net 2.0之外的任何库。它适用于任何.Net 2.0安装。 Microsoft claims

.Net完全向后兼容。即你甚至可以在.Net 4.0上运行.Net 1.1应用程序。但他们说,可能存在一些问题。 在你的情况下它应该没问题,但你必须在宣称这项工作之前进行特定的测试。