在只有框架 2.0 和 4.0 的计算机上运行面向 3.0 的 .NET 应用

本文关键字:运行 应用 NET 计算机 框架 | 更新日期: 2023-09-27 18:35:02

谁能建议面向.NET 3.0的应用程序

是否可以在具有.NET 2.0和4.0但不能运行3.0的用户计算机上?3.0 和 3.5 的安装程序在此特定计算机上崩溃。

在只有框架 2.0 和 4.0 的计算机上运行面向 3.0 的 .NET 应用

.NET Framework 4.0 独立于 .NET Framework 2.0/3.0/3.5(所有框架,2.0 是

完整的基本框架,3.0 和 3.5 是 2.0 的扩展(。

/编辑

我很好奇,很快就尝试了一下。这实际上取决于你是否针对 3.0/3.5 构建您的应用程序,并真正使用 3.0/3.5 特定的东西(用于实例 Linq( 在最后。如果你不使用它,那么它当然仍然可以工作。

但是,如果这样做,则用户将看到Microsoft错误报告对话框。

似乎"没有直接针对.NET 3.0/3.5",因为它取决于在目标依赖项(项目引用(上。

但最终答案应该仍然是:"不,因为你永远不知道!

很有可能.Net4 具有程序所需的所有内容,有一个选项可以重定向程序集的使用(有点乏味,但确实如此(,您可以修改应用程序的配置文件,通常在开发中命名为 App.config,在部署时修改应用程序名称.exe.config

配置部分中,对所有应重定向的程序集尝试此操作:

<runtime>
<generatePublisherEvidence enabled="false"/>
<gcServer enabled="true"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.0.0.0"/>
  </dependentAssembly>
</assemblyBinding>
</runtime>

4.0 框架名义上向后兼容为早期版本(1.1 及更高版本(编译的程序集。CLR 中的某些更改仍有可能中断您的应用程序。有关详细信息,请参阅 http://msdn.microsoft.com/en-us/library/ff602939.aspx。

故事的寓意:在 4.0 CLR 上测试 3.5 应用程序以确保其正常工作。