无法安装针对框架 3.5 的 VS2010 构建的 MSI

Posted

技术标签:

【中文标题】无法安装针对框架 3.5 的 VS2010 构建的 MSI【英文标题】:Can't install MSI built with VS2010 that targets framework 3.5 【发布时间】:2012-03-06 22:28:06 【问题描述】:

我有一个针对 .Net framework 3.5 并使用 Visual Studio 2010 构建的 Web 应用程序。

问题是,当我在仅安装了 Framework 3.5 SP1 的 Windows 2008 R2 服务器上安装它时,安装失败并出现此错误。实际上它正在寻找框架 4,但它并不需要它。

无法打开密钥 Software\Microsoft\ASP.Net\4.0.30319.0。验证 您有足够的权限访问该密钥,或联系您的支持人员 人员。

我猜在这种情况下支持人员将是 SO 用户。这是一个长期存在的问题,我以前通过不打扰 MSI 和复制文件的出色权宜之计解决了这个问题。不幸的是,这一切都会影响到一个无法选择的新项目。

非常感谢您的宝贵时间

其他详情

    有一个部署项目会生成一个具有 .Net 依赖项的 MSI,该依赖项也针对 .Net 框架 3.5。 我的解决方案中的每个项目都针对框架 3.5 将要包含在部署中的任何项目中对 BCL dll 的每个引用都是 2.0 版或 3.5 版

【问题讨论】:

【参考方案1】:

这里的问题是 VS 2010 为 Web Setup 部署项目引入了一个名为“ASPNETVersion”的新属性。 “ASPNETVersion”属性的默认值为“4.0.30319.0”

要解决此问题,请将“ASPNETVersion”属性更改为“2.0.50727.0”并重新构建设置。

来源:http://ncrypt.nirmalperera.com/2010/09/aspnet-web-app-deployment-issue.html

【讨论】:

以上是关于无法安装针对框架 3.5 的 VS2010 构建的 MSI的主要内容,如果未能解决你的问题,请参考以下文章

我可以在面向 .Net 3.5 的项目中使用所有 C# 4.0 功能吗?

VS2008 安装项目会更新 Net 3.5 SP1 吗?

无法安装 .NET Framework 3.5

在 CI 服务器上构建 ATL VS2010 项目

VS2010,SqlCE 4.0 不是数据源选项(仅 3.5)

怎么让vs2008用.net framework4.0