web-dev-qa-db-fra.com

Types MVC de Visual Studio 2015 Razor View non reconnus

 syntax error

J'ai installé Visual Studio 2015 et redémarré. Les types "MVC" ne sont pas reconnus en 2015 mais le sont toujours en 2013. Voici mon "vues" web.config:

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="Host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
32
Justin

Nous pensons que cela se produit car vous utilisez actuellement MVC 4 et que les outils MVC 4 ne sont pas inclus dans Visual Studio 2015. Seuls les outils MVC 5 et MVC 6 sont inclus. Si vous utilisez réellement MVC 5 et que vous rencontrez ces problèmes, veuillez nous en informer. Vous pouvez confirmer que vous utilisez MVC 4 en ouvrant packages.config et en faisant défiler jusqu'à l'entrée pour Microsoft.AspNet.Mvc. Si la version indiquée commence par "4", cela signifie que vous utilisez MVC 4.

Ceci dit, nous apprécions vos commentaires et l'investissement que vous avez fait dans MVC 4. Sur la base des commentaires de vos clients et d'autres clients, nous étudions la possibilité de rendre l'outillage MVC 4 disponible pour Visual Studio 2015. Entre-temps, votre projet sera compilé et exécuté dans Visual Studio 2015 malgré les problèmes d’outillage. Vous pouvez également garder Visual Studio 2013 et 2015 installés côte à côte sur votre ordinateur. De cette façon, vous pouvez utiliser Visual Studio 2013 pour les projets MVC 4 et Visual Studio 2015 pour les projets MVC 5 et versions ultérieures.

25
Mohit Srivastava

Cela n'a pas fonctionné pour moi. Il semble que ce problème ait plusieurs causes profondes liées à web.config. 

Un autre problème était l’incompatibilité de la version de compilation root web.config.

<compilation debug="true" targetFramework="4.5.2">

<httpRuntime executionTimeout="600" maxRequestLength="10240" requestValidationMode="2.0" targetFramework="4.5.2" />

Si la version de httpruntime est différente de celle de l’assemblée, cela peut arriver.

3
mohghaderi

Si vous avez mis à niveau de MVC4 vers MVC5: dans Views/web.config change

   <Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

à 

   <Host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
1
Jeroen K

De Chris Zhao sur asp.net : Vous pouvez envisager de désinstaller VS 2015, puis de le réinstaller et vérifier si "Outils pour le développeur Web" est sélectionné [allez dans Personnalisé pendant l'installation pour vous assurer qu'il est bien coché. 

Je l'ai fait et il s'est débarrassé du soulignement rouge sous Viewbag.

0
Reid

J'ai essayé beaucoup de choses pour résoudre ce problème. Pour en nommer quelques uns:

  1. Vérification et désélection de Outils-> Editeur de texte-> Toutes les langues-> Liste automatique des membres et des informations sur les paramètres
  2. Redémarrage de Visual Studio
  3. Suppression de toutes sortes de fichiers dans divers dossiers: bin, * .sou,% AppLocacalData%\Temp, etc. 

Rien n'a fonctionné.

Ensuite, je suis allé dans le Panneau de configuration et ai exécuté la configuration de Visual Studio, puis cliqué sur le bouton "Réparer". Une fois le processus terminé, il a proposé de redémarrer la machine. Après cela, intellisense a recommencé à fonctionner dans des vues rasoirs. 

0
fatherOfWine

Je pense qu'un problème similaire a été décrit ici - https://stackoverflow.com/q/22832435/3350527 . Ancienne version de System.Web.Mvc utilisée (selon l'avis de VS 2015).

0
kleine beertje

J'ai découvert que je devais modifier la version des assemblys traitant des sections de configuration en 3.0.0.0 dans le fichier Views/Web.config:

  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="Host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

Ils étaient tous auparavant 2.0.0.0.

0
Danno