10

當我打開包含在Visual Studio 11 Beta版的MVC3項目的解決方案,我看到以下消息:「缺失的Web部件」 的錯誤時,在Visual Studio中打開MVC3項目11 Beta版

The Web project 'Landboss.Web' requires missing web components to run with Visual Studio. Would you like to download and install them using the Web Platform Installer now? (Note: Some components might require restart to take effect.) ASP.NET Web pages with Razor syntax 1.0.0.0

Web項目「Landboss.Web」要求丟失Web組件,以便在Visual Studio中運行 。您想現在使用Web平臺安裝程序使用 下載並安裝它們嗎? (注:有些組件可能需要 重新啓動才能生效)

ASP.NET剃刀語法網頁1.0.0.0

當我點擊,Web平臺安裝程序將打開,並告訴我此:

enter image description here

The product you are trying to install is not supported on your operating system. Click here for more information.

到目前爲止,我已經在兩臺機器上安裝了Visual Studio 11 Beta,兩者都有這個問題。

回答

7

我相信這是由於我以前安裝過Visual Studio 11 Developer Preview。我在安裝Beta之前卸載了它,但你知道這是怎麼回事。

要解決它,我做了以下內容:

  1. 卸載 「微軟ASP.NET MVC 3 - 的Visual Studio 11種工具更新」
  2. 卸載「微軟ASP.NET網頁 - 的Visual Studio 11的工具「
  3. 從安裝ISO運行Visual Studio 11 Beta」修復「。

它的工作!剃刀語法突出顯示和智能感知又回來了,當我打開項目時警告消息不再顯示。

+13

對於任何發現此問題的人來說,尋找VS2010中類似錯誤的解決方案:如果您在未安裝MVC3的情況下安裝MVC4,然後嘗試安裝MVC3,安裝程序似乎會成功,但實際上未安裝MVC3,你會在VS2010中得到類似的錯誤。你必須先卸載MVC4,然後安裝MVC3,然後重新安裝MVC4。然後你會變得金黃。 – 2012-04-13 22:31:38

+0

@Michael Teper謝謝。只需要在卸載控制面板中檢查哪些應該被刪除?還是應該全部刪除? 「Microsoft ASP.Net MVC 4(Bundle)」或「Microsoft ASP.Net MVC 4 - Visual Studio Tools」或「Microsoft ASP.Net MVC 4」? – cofiem 2012-05-08 21:44:21

+0

@cofiem已經有一段時間了,但我認爲如果你從(Bundle)開始,它會自動卸載其餘的。 – 2012-05-09 09:35:12

3

這與配置設置的網頁:版本

[appSettings] 
... 
    [add key="webpages:Version" value="x.0.0.0" /] 
... 
[/appSettings] 
如果你有系統(1或2現在)上的剃鬚刀的多個版本

,如果缺少更好的添加此設置。 在適當的級別選擇你想要/需要的版本。 (顯然替換括號...)

3

我也有這個錯誤發生時,Subversion衝突提交到存儲庫 - 在web.config的應用程序設置中存在此塊似乎觸發消息加載項目:

<<<<<<< .mine 
<add key="blogCommentsApprovedByDefault" value="false" /> 
(other appsettings) 
======= 
<add key="blogCommentsApprovedByDefault" value="false" /> 
(other appsettings) 
>>>>>>> .r358 

清理appSettings中的Subversion衝突解決了此錯誤。

0

我得到這個錯誤,因爲appSettings部分被設置爲被加密,並且加密密鑰設置不正確。看起來這個錯誤有一個趨勢,即使與MVC無關,每當web.config發生錯誤/錯誤時也會彈出。

0

當web.config文件中的內容被損壞時,我得到了這個錯誤。我只是格式化文件,然後重新保存它。然後我重新啓動了Visual Studio。

1

雖然@silent__thought's solution可能會糾正這個問題,但這不是解決問題的最簡單方法。

@Costas solution可能正好解決了問題,但here is a more detailed explanation如果您需要它。

就我而言,我需要在我的web.config文件中的以下(對於MVC 4):

<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> 

當然,你可能並不需要所有這些配置您的應用程式。這些恰好是MVC 4項目的默認設置。

+0

我有問題,OP描述,只是檢查,我有我的'web.config'中的所有這些條目......但仍然有不幸的是問題。 – J0e3gan 2013-12-17 00:52:47

0

我剛剛被這個咬傷,它是web.config問題的另一個變種。在我的情況下,我們不會在我們的倉庫中存儲web.config文件,而是從模板生成一個作爲自定義構建步驟。當我們對工作區進行清理時*這個文件正在被刪除(正確的是因爲它不在回購站中),所以下一次Visual Studio啓動時就會抱怨。通過msbuild建立的命令行從未受此影響。我們有一個「部分」清理,刪除全部構建工件(包括那些VS葉子)和一個「完整」清理,將工作空間重置爲相同的狀態,就好像您剛剛從其中刪除回購。

相關問題