我可以安全地安装 .Net Framework 3.5 SP1 而不要求我的客户升级他们的 .Net Framework 可分发包吗? (当前运行 3.5)

Posted

技术标签:

【中文标题】我可以安全地安装 .Net Framework 3.5 SP1 而不要求我的客户升级他们的 .Net Framework 可分发包吗? (当前运行 3.5)【英文标题】:Can I safely install .Net framework 3.5 SP1 without requiring my customers to upgrade their .Net Framework distributable? (currently running 3.5) 【发布时间】:2010-09-17 19:27:21 【问题描述】:

我可以安全地下载和安装 .Net Framework 3.5 SP1,而无需我的客户升级他们的 .Net Framework 可分发包吗?

编辑:并且不更改我的构建脚本

编辑:我目前正在运行 3.5

【问题讨论】:

布赖恩,您需要稍微充实一下您的问题。我假设你正在从你的机器上发布构建。什么框架? Winforms单击一次应用程序?网络应用?给我们更多的电子信息。 【参考方案1】:

From hanselman,

在 .NET 3.5 方面,由于这是一个 SP(服务包),是的,有些东西会进入您的 GAC 并被更改。然而,这些变化是完全相加的。这意味着如果 API 的方法签名发生了变化,那就是我们需要修复的错误。这将是一个完全兼容的服务包版本。它不应该破坏您现有的任何代码。

【讨论】:

【参考方案2】:

可以,只要您的项目针对的是较早的框架版本。

【讨论】:

安全的通用答案——希望我能想到!【参考方案3】:

不,不安全。您不能将 Visual Studio (2008) 配置为面向 3.5SP1,只有 3.5。 尽管 API 在 3.5 和 3.5SP1 之间几乎相同,但在 SP1 中还有一些新函数和构造函数。 MSDN 没有提供任何帮助说明何时引入该功能,因此在 VS 中无法判断您的新构建是否可以在没有 SP1 的情况下工作。

如果您在没有 SP1 的 3.5 中运行该代码,您的应用程序将在运行实际代码时崩溃,而不是在程序集加载时崩溃。

解决方案是要么坚持不带 SP1 的 3.5,要么在不带 SP1 的机器上正确测试所有代码。

就我个人而言,我有一台虚拟机要测试。

【讨论】:

【参考方案4】:

是的,但是

确保您在没有 SP1 的情况下针对 3.5 进行测试(虚拟机对于此类东西非常宝贵) 不要使用 3.5 SP1 引入的任何新功能(如 ASP.NET 动态数据)

您的项目可能会部署所有依赖项(即使是通常在 GAC 中的那些)——我已经看到使用 System.Core 的 .Net 2.0 SP1 项目使用这种技术——但再次确保你在没有 SP1 环境的 .Net 3.5。

【讨论】:

以上是关于我可以安全地安装 .Net Framework 3.5 SP1 而不要求我的客户升级他们的 .Net Framework 可分发包吗? (当前运行 3.5)的主要内容,如果未能解决你的问题,请参考以下文章

windows2008安装sql server2008 提示系统要安装net framework 3.5 sp1 可是我已经安装

是否可以有条件地编译为 .NET Framework 版本?

是否可以有条件地编译为 .NET Framework 版本?

win10开机提示需要安装.NET Framework3.5(包括.NET 2.0和3.0)

net framework 3.5起啥作用

c#做的Winform程序开发IE浏览器如何在不安装Framework的情况下运行?