Il nome del tipo o dello spazio dei nomi non esiste nello spazio dei nomi 'System.Web.Mvc'

Il nome del tipo o dello spazio dei nomi non esiste nello spazio dei nomi 'System.Web.Mvc'

Pulisci la tua soluzione e quindi imposta la proprietà di quei file su Copy Local = True .

Per impostare la proprietà Copy Local su True o False

In Esplora soluzioni, fare clic sul pulsante Mostra tutti i file per visualizzare il nodo Riferimenti.

  • Apri il nodo Riferimenti per il progetto.
  • Fai clic con il pulsante destro del mouse su un riferimento nell'elenco Riferimenti e fai clic su Proprietà. Le proprietà associate a quel riferimento vengono visualizzate in un elenco nella finestra Proprietà.
  • Nella finestra Proprietà, modifica la proprietà Copia locale su True o False.

Per qualsiasi motivo, DUE delle mie soluzioni hanno progetti web che hanno disinstallato spontaneamente asp.net MVC in qualche modo. L'ho installato da Nuget e ora funzionano di nuovo entrambi. Ciò è accaduto dopo un recente batch di aggiornamenti di Windows che includeva aggiornamenti di .net Framework per la versione che stavo utilizzando (4.5.1).

Modifica:dal blog .Net Web Development and Tools:

Microsoft Asp.Net MVC Security Update MS14-059 ha rotto la mia build!


Questo normalmente mi cattura quando eseguo da IIS e il pool di app per il sito predefinito è impostato su .NET versione 2.0. Quando si utilizza IIS da Visual Studio, crea una directory virtuale ma viene comunque eseguita nel pool di app del sito predefinito. Se si utilizza il server Web integrato, fare clic con il pulsante destro del mouse sul progetto Web, andare su Proprietà e assicurarsi di eseguirlo con il diritto versione di .NET.Su IIS controlla la versione .NET nel tuo pool di app.

In seguito al mio ultimo commento su come è stato creato il progetto, stai includendo correttamente gli assiemi, come di seguito (preso dal file web.config predefinito generato dal modello di progetto MVC3 in VS10):

<compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
</compilation>