Microsoft .NET兼容性

时间:2010-09-01 17:09:37

标签: .net visual-studio

我使用了VS2010,目标是.Net 2.0(VB.Net Windows Form应用程序)

How to decide what is the .Net target 我决定使用2.0,因为我知道如果用户有更高的版本

就行了

我用.Net 2.0在XP上测试了我的应用程序,运行正常。

我卸载.Net 2.0 [查看用户可能收到的错误消息]

[一些文件仍留在C:\ Windows \ Microsoft.Net \ Framework \ v2.0.50727但不是所有文件]

我安装了.Net 4 [ 。 。还需要安装Windows Installer 3.1和Windows Imaging Component作为预先要求。 。 ]

但现在当我运行我的应用程序时,我收到错误 -  “无法找到运行此应用程序的运行时版本”

那么我应该如何推荐我的客户呢?安装2.0?

谢谢,

Atara

更新:我将建议我的XP用户安装.Net 3.5 SP1

6 个答案:

答案 0 :(得分:7)

.NET 2.0应用程序需要运行.NET 2.0。 .NET 3.0或3.5应用程序只需要.NET 2.0以及它实际使用的任何其他.NEt 3.0 / 3.5程序集。

.NET 4.0应用程序需要.NET 4.0 CLR,因此必须安装.NET 4.0。

答案 1 :(得分:3)

您有两种选择:

  • 建议您的客户安装.NET 3.5 SP1(无人安装.NET 2.0)
  • 目标.NET 4.0并要求您的客户安装.NET 4.0(特别是如果您的客户是公司政策不允许的大型公司,这可能不会被接受)

答案 2 :(得分:1)

以下是选择Windows操作系统所需框架的简要概述[在我看来更常见的]。

  • XP:2.0,3.0,3.5,4.0
  • Vista:3.5,4.0
  • Win7:4.0

正如您所看到的,Microsoft已经发布了预安装操作系统时已经发布的框架。

还值得注意的是,当您安装.NET 3.5 sp1时,会自动安装3.0和2.0。这是因为它们都运行在相同的底层框架上,每个版本都基于之前的版本构建。

.NET 4是一种完全不同的动物。它运行在不同的底层框架上,因此在安装时不会自动获取旧版本的.NET框架。

希望这有帮助。

答案 3 :(得分:0)

现在是构建项目,尝试访问其属性并更改“目标框架”。并选择您的客户拥有的框架。这可以解决您的问题。

答案 4 :(得分:0)

仅仅因为您安装了.NET 4.0并不意味着您的应用程序是针对.NET 4.0的。

如果在Visual Studio中修改项目设置以构建到目标.NET 4.0,则不应再出现错误(但随后客户端将需要安装.NET 4.0运行时)。

就个人而言,如果你想发布一些将在大多数客户端机器上运行的东西,我会以.NET 3.5为目标。大多数人都已经安装了运行时。

如果没有,download from Microsoft就足够了。

答案 5 :(得分:0)

您应该构建一个包含2.0可再发行组件的安装程序(Visual Studio中的安装/部署项目),这样当您的客户端安装软件时,它将安装必要的.net框架以便它运行。