Visual studio &引用;“缺少web组件”;在Visual Studio 11 Beta中打开MVC3项目时出错

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中打开包含MVC3项目的解决方案时,我看到以下消息:

Web项目“Landboss.Web”需要缺少Web组件才能运行 使用VisualStudio。是否要使用下载和安装它们 现在是Web平台安装程序吗?(注意:某些组件可能需要 重新启动以生效。)

具有Razor语法1.0.0.0的ASP.NET网页

当我单击“是”时,Web平台安装程序打开并告诉我:


到目前为止,我已经在两台机器上安装了Visual Studio 11 Beta,但两台机器都有相同的问题。

我认为这是因为我以前安装了Visual Studio 11 Developer Preview。我确实在安装测试版之前卸载了它,但你知道它是怎么回事

为了修复它,我执行了以下操作:

  • 已卸载“Microsoft ASP.NET MVC 3-Visual Studio 11工具更新”
  • 已卸载“Microsoft ASP.NET网页-Visual Studio 11工具”
  • 从安装ISO运行Visual Studio 11 Beta“修复”

  • 成功了!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>