无法在具有VS2010 / .net4的电脑上运行基于.net3.5的exe?

时间:2011-04-28 11:02:53

标签: .net .net-3.5 .net-4.0

我有一个基于.net3.5的exe,当我在电脑上运行时会发出以下消息:“无法找到运行此应用程序的运行版本。”????

电脑上安装了winxp sp3和vs2010,所以基于.net4的应用程序正在运行,但基于.net3.5的exes不是。据我说,如果电脑有.net3.5那么它应该可以运行.net3 .5基于应用程序????

感谢

1 个答案:

答案 0 :(得分:6)

您无法在未安装.NET 3.5的计算机上运行面向.NET 3.5的应用程序。

.NET 4.0与.NET 3.5不向后兼容。它使用不同版本的CLR。因此,您的结论是错误的:如果要运行针对.NET 3.5和.NET 4.0的应用程序,则必须安装两个版本的.NET Framework。

但是,.NET 3.5使用与.NET 3.0和.NET 2.0相同版本的CLR。因此,如果要运行针对任何这些框架的应用程序,可以通过安装.NET 3.5来实现。

.NET 4.0的下载链接解释了:

  

.NET Framework 4与旧的Framework版本并行工作。基于早期版本的Framework的应用程序将继续在默认目标版本上运行。

但是,如果您自己编写了应用程序,并且希望它在.NET 4.0附带的新CLR上运行,则可以通过修改应用程序配置文件中的<supportedRuntime> element来实现。只需添加字符串“v4.0”。


我希望能回答你的问题。但你说的话对我来说仍然有点令人费解:

  

据我说,如果电脑有.net3.5那么它应该可以运行基于.net3.5的应用程序????

我认为这是一个错字,你的意思是说,如果一台PC有.NET 4.0,那么它应该能够运行基于.NET 3.5的应用程序。如果是这种情况,我已经解决了上述问题,并解释说.NET 4.0与针对早期版本CLR的应用程序不向后兼容。

如果它不是拼写错误,那么它似乎与问题的其余部分不一致。您似乎暗示.NET 3.5未安装