我可以安全地安装 .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 版本?