Visual studio &引用;“缺少web组件”;在Visual Studio 11 Beta中打开MVC3项目时出错
在Visual Studio 11 Beta中打开包含MVC3项目的解决方案时,我看到以下消息: Web项目“Landboss.Web”需要缺少Web组件才能运行 使用VisualStudio。是否要使用下载和安装它们 现在是Web平台安装程序吗?(注意:某些组件可能需要 重新启动以生效。) 具有Razor语法1.0.0.0的ASP.NET网页 当我单击“是”时,Web平台安装程序打开并告诉我:Visual studio &引用;“缺少web组件”;在Visual Studio 11 Beta中打开MVC3项目时出错,visual-studio,asp.net-mvc-3,razor,web-platform-installer,asp.net-webpages,Visual Studio,Asp.net Mvc 3,Razor,Web Platform Installer,Asp.net Webpages,在Visual Studio 11 Beta中打开包含MVC3项目的解决方案时,我看到以下消息: Web项目“Landboss.Web”需要缺少Web组件才能运行 使用VisualStudio。是否要使用下载和安装它们 现在是Web平台安装程序吗?(注意:某些组件可能需要 重新启动以生效。) 具有Razor语法1.0.0.0的ASP.NET网页 当我单击“是”时,Web平台安装程序打开并告诉我: 到目前为止,我已经在两台机器上安装了Visual Studio 11 Beta,但两台机器都有
到目前为止,我已经在两台机器上安装了Visual Studio 11 Beta,但两台机器都有相同的问题。我认为这是因为我以前安装了Visual Studio 11 Developer Preview。我确实在安装测试版之前卸载了它,但你知道它是怎么回事 为了修复它,我执行了以下操作:
成功了!Razor语法突出显示和intellisense恢复,并且在我打开项目时不再显示警告消息。这与配置设置网页有关:版本
[appSettings]
...
[add key="webpages:Version" value="x.0.0.0" /]
...
[/appSettings]
如果系统上有多个版本的razor(目前为1或2),如果缺少此设置,最好添加此设置。
在适当的级别上选择您想要/需要的版本。(显然,替换括号…当Subversion冲突提交到存储库时,我也发生了此错误-web.config的应用程序设置中存在此块似乎会在加载项目时触发消息:
<<<<<<< .mine
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
=======
<add key="blogCommentsApprovedByDefault" value="false" />
(other appsettings)
>>>>>>> .r358
.r358
清除appSettings中的Subversion冲突解决了此错误。我收到此错误,因为appSettings部分设置为加密,加密密钥设置不正确。每当web.config出现错误/格式不正确时,即使与MVC无关,似乎也会弹出此错误。当web.config文件中的某些内容损坏时,我出现了此错误。我只是格式化了文件,然后重新保存。然后,我重新启动了Visual Studio。虽然可以解决问题,但这并不是解决问题的最简单方法 可能正好解决了这个问题,但如果你需要的话 在我的例子中,我的web.config文件(对于MVC4)中需要以下内容:
当然,您的应用程序可能不需要所有这些配置。这些恰好是MVC4项目的默认设置。我刚刚被这个问题所困扰,这是
web.config
问题的另一个变体。在我的例子中,我们不在repo中存储web.config文件,而是从模板生成一个web.config文件作为自定义构建步骤。当我们清理工作区时,这个文件被删除了(这是正确的,因为它不在repo中),所以在下一次启动VisualStudio时,它抱怨道。通过msbuild生成的命令行从未受此影响
*我们有一个“部分”清理,它删除所有构建工件(包括VS留下的那些),还有一个“完全”清理,它将工作区重置为与您刚从repo中取出工作区时相同的状态。任何人都要注意,如果您在VS2010中找到类似错误的解决方案,请注意:如果您安装MVC4而不安装MVC3,然后尝试安装MVC3,安装程序似乎成功了,但实际上MVC3没有安装,在VS2010中也会出现类似的错误。您必须首先卸载MVC4,然后安装MVC3,然后重新安装MVC4。“然后你将是金色的。”迈克尔·泰珀,谢谢。只是想检查一下,在卸载控制面板中,应该删除哪个?还是应该全部移除?“Microsoft ASP.Net MVC 4(捆绑包)”或“Microsoft ASP.Net MVC 4-Visual Studio Tools”或“Microsoft ASP.Net MVC 4”@cofiem已经有一段时间了,但我认为如果从(捆绑包)开始,它将自动卸载其余的。@Michael Teper是的,确认卸载(捆绑包)将删除其余的,正如预期的那样,我遇到了OP描述的问题,只是检查了我的
web.config
…中是否有所有这些条目,但不幸的是,仍然存在问题。
<configuration>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
<httpHandlers></httpHandlers>
</system.web>
</configuration>