Pourquoi ai-je des erreurs de compilation dans un nouveau projet MVC4?
Je n'ai pas été en mesure de trouver une réponse à cela et ont été à récurer l'internet tout le week-end, alors j'espérais peut-être que vous pourriez m'aider avec cela.
Lors de l'utilisation de Visual Studio 2012, je crée un nouveau MVC4 Projet d'Application Web et obtenir quelques erreurs de compilation.
Voici mon problème:
- - Je créer un nouveau MVC4 Application Web à l'aide de Visual Studio 2012, j'ai sélectionner l'Application Internet et de le configurer pour utiliser Moteur de RASOIR.
- Je vais à l'Application de Propriétés et dans l'Onglet Application, j'ai changer de Cible Cadre de .NET Framework 4.5 .NET Framework 4.
- La construction produit des messages d'erreur suivants:
Erreur 1 Le nom de type 'TableAttribute' n'a pas pu être trouvé. Ce type a été transmis à l'assemblée " du Système.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". Envisager d'ajouter une référence à l'assembly. c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 21 6 MvcApplication1
Erreur 2 le type ou Le nom d'espace de noms 'Table' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 21 6 MvcApplication1
Erreur 3 le type ou Le nom d'espace de noms 'DatabaseGeneratedAttributeAttribute' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 25 10 MvcApplication1
Erreur 4 Le nom de type 'DatabaseGeneratedAttribute' n'a pas pu être trouvé. Ce type a été transmis à l'assemblée " du Système.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35". Envisager d'ajouter une référence à l'assembly. c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 25 10 MvcApplication1
Erreur 5 le type ou Le nom d'espace de noms 'CompareAttribute' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 54 10 MvcApplication1
Erreur 6 le type ou Le nom d'espace de noms 'Comparer' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 54 10 MvcApplication1
Erreur 7 le type ou Le nom d'espace de noms 'CompareAttribute' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 87 10 MvcApplication1
Erreur 8 le type ou Le nom d'espace de noms 'Comparer' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?) c:\users\saad\documents\visual studio 2012\Projects\MvcApplication1\MvcApplication1\Modèles\AccountModels.cs 87 10 MvcApplication1
source d'informationauteur ComputerG33k | 2012-09-30
Vous devez vous connecter pour publier un commentaire.
Simplement Réinstaller EntityFramework:
qu'en est-il de l'erreur devrait disparaître!
En fait, il n'est pas un problème de MVC4 projet de modèle mais de modification de la cible .Net Framework.
Lorsque vous créez un nouveau MVC4 projet dans VS2012, ça va (par défaut) de référence .Net 4.5. Tous les fichiers sont générés sur la base de cette version. Le AccountModel utilisation de nouveaux attributs de
System.ComponentModel.DataAnnotations
(TableAttribute
DatabaseGeneratedAttribute
...Retargetting le cadre de la version uniquement modifier les références et n'affecte pas le code source : les attributs de 4,5 cadre ne sera pas supprimé.
Si vous voulez un MVC4 projet .Net 4.0, vous pouvez :
Désinstallation du Package entityframework /Install-Package entityframework solution n'a pas fonctionné pour moi. Au lieu de cela j'ai dû ouvrir l' .csproj fichier dans le bloc-notes et faire une rechercher et remplacer "net40" à "net45" pour le forcer à charger le .net version 4.5 de tous les paquets. Ce qui fait que la version correcte de EntityFramework charge.