J'avais déjà essayé de supprimer le fichier bin et obj et de redémarrer VS, sans succès.
J'ai également eu ce problème à de nombreuses reprises et c'est à chaque fois un casse-tête à résoudre. Souvent, c'est dû au fait que le fichier web.config n'a pas la bonne version de l'une des références. Cela signifie qu'il faut cliquer sur la référence dans Visual Studio pour voir la version dans l'onglet des propriétés, puis la faire correspondre à la version dans les fichiers web.config.
Une autre solution consiste (si possible) à mettre à niveau vers une version plus récente de .net framework, puis à supprimer les fichiers bin/obj et à redémarrer Visual Studio. Je ne peux que supposer qu'il s'agit de modifier quelque chose dans le fichier
Une vérification rapide de la différence entre le fichier csproj ne montre pas vraiment de différence majeure... Mais les différences qu'il montre sont (j'ai ajouté (enlevé) pour montrer l'ancienne ligne)
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> (remove)
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>(remove)
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
Dans le fichier Web.Config (pas celui de la vue)
<add key="webpages:Version" value="2.0.0.0" /> (remove)
<add key="webpages:Version" value="3.0.0.0"/>
Il a également ajouté (au même fichier web.config) mais je l'ai supprimé manuellement
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
Enfin, dans la console du gestionnaire de paquets, ajoutez update-package
Exécuter le site web localement et voir les éventuelles erreurs de compilation, ce qui a été corrigé par mon deuxième paragraphe (faire correspondre les versions des références).
1 votes
Gardez à l'esprit que, pour la version 5.2.2.0, le web.config doit pointer vers la version 5.2.2.0, mais que le Views/web.config doit pointer vers la version 5.1.0.0 pour l'assemblage MVC.