从 .NET Framework 1.1 版迁移

更新:2010 年 9 月

Windows 7 不支持 .NET Framework 1.1 版。 因此,面向 .NET Framework 1.1 的应用程序在未进行修改的情况下将不会在 Windows 7 上运行。 本主题讨论了在 Windows 7 下运行面向 .NET Framework 1.1 的应用程序所需执行的步骤。

重定目标或重新编译

可通过两种方式让使用 .NET Framework 1.1 编译的应用程序在 Windows 7 上运行:

  • 可以将应用程序的目标重定为在 .NET Framework 4 版 下运行。 重定目标需要将 <supportedRuntime> 元素添加到允许应用程序在 .NET Framework 4 下运行的应用程序配置文件中。 此配置文件采用以下形式:

    <configuration> 
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • 可以使用面向 .NET Framework 4 的编译器重新编译应用程序。 如果您最初使用 Visual Studio 2003 开发和编译解决方案,则可在 Visual Studio 2010 中打开它,**“Visual Studio 转换向导”**会将该解决方案和项目文件从 Visual Studio 2003 使用的格式转换为 Visual Studio 2010 使用的 Microsoft Build Engine (MSBuild) 格式。

无论您是想重新编译应用程序还是重定应用程序的目标,都必须确定应用程序是否会受更高版本的 .NET Framework 中引入的任何更改的影响。 这些更改分为两类:

  • .NET Framework 1.1 和更高版本的 .NET Framework 之间存在的重大更改。

  • .NET Framework 1.1 和更高版本的 .NET Framework 之间的已标记为弃用或过时的类型和类型成员。

无论您重定应用程序的目标还是重新编译应用程序,都应查看 .NET Framework 1.1 之后发布的各个版本的 .NET Framework 的重大更改和已过时类型和成员。

重大更改

发生重大更改时,解决方法可能对重定目标的应用程序和重新编译的应用程序都可用,这取决于具体的更改。 在某些情况下,可以将子元素添加到应用程序配置文件的 <runtime> 元素以还原早期行为。 例如,下面的配置文件将还原 .NET Framework 1.1 中使用的字符串排序和比较行为,可以将该文件与重定目标的应用程序或重新编译的应用程序一起使用。

<configuration>
   <runtime>
      <CompatSortNLSVersion enabled="4096"/>
   </runtime>
</configuration>

但某些情况下,您可能必须修改源代码和重新编译应用程序。

若要评估重大更改对应用程序产生的影响,您必须查看以下更改列表:

已过时的类型和成员

弃用的类型和成员对重定目标的应用程序和重新编译的应用程序产生的影响略有不同。 使用已过时的类型和成员将不会影响重定目标的应用程序,除非已从其程序集中物理删除这些过时的类型或成员。 重新编译使用过时的类型或成员的应用程序通常会产生编译器警告而不是编译器错误。 但某些情况下会产生编译器错误,且无法成功编译使用过时的类型或成员的代码。 在此情况下,您必须先重新编写调用过时的类型或成员的源代码,然后再重新编译应用程序。 有关过时的类型和成员的更多信息,请参见 .NET Framework 中的过时功能

若要评估自发布 .NET Framework 2.0 SP1 后已弃用的类型和成员的影响,请参见 .NET Framework 中的过时功能。 查看 .NET Framework 2.0 SP1、.NET Framework 3.5 和 .NET Framework 4 的过时类型和成员的列表。

修订记录

日期

修订记录

原因

2010 年 9 月

新增主题。

信息补充。