asp.net-mvc – 为什么我不能从Web平台安装程序安装ASPNET MVC2? (错误:“需要VS2008 SP1”,但安装了SP1!)

我去了 http://www.asp.net/mvc/尝试安装ASP.NET MVC.
我不知道,但MVC现在是版本2.

有一个叫做微软“Web平台安装程序”(WPI)的漂亮的东西,它基本上是一个小的安装程序驱动程序工具,它​​提供了一些我可能想要安装的东西,在Windows上做Web事情.菜单上有ASPNET MVC2,还有Drupal,PHP,Joomla等等.

http://www.asp.net/mvc/开始,当我点击“安装MVC”的链接时,它会解析为http://go.microsoft.com/fwlink/?LinkID=185037,然后弹出WPI.

但是之后!我得到一个错误对话框,上面写着“安装ASPNET MVC2需要VS2008 SP1”.

但我知道我有VS2008 SP1.

是什么赋予了?

解决方法

我环顾四周,发现建议[ 1,2]手动修改注册表,具体来说
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\9.0\IDE\1033

将值SP,SPIndex和SPName分别设置为0,0和“SP1”,以允许检查SP1成功.

但我不喜欢那个答案.我确定我安装了VS2008 SP1;事情不太对劲.像这样修改注册表可能会导致配置不受支持,未来的补丁可能无法正常工作等等.这是一个坏主意.

我进一步观察了found a suggestion以卸载VS2008集成外壳.我做到了,然后能够通过Web平台安装程序安装ASPNET MVC2.我认为shell是使用VS 2008 SDK安装的.

显然,MVC2安装程序会查看是否安装了未更新到SP1的VS产品,并且如果找到任何VS产品则拒绝安装. VS Integrated Shell就是其中之一.虽然它是在安装VS2008 SP1之前安装的,但集成的shell没有升级到SP1 – 至少不是根据与集成shell关联的注册表设置.删除集成的shell允许继续进行MVC2安装.对于那些乐于这样做的人来说,直接编辑注册表而不卸载集成的shell,也可以让MVC2的安装成功.

也许这会帮助别人.

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...