65 votes

Échafaudages contrôleur doesn ' travail t avec mise à jour de visual studio 2013 2

PROBLÈME:

J'ai mis à jour pour Visual Studio 2013 update 2 et maintenant je ne peux pas échafaudage contrôleurs.

Le problème n'est pas spécifique du projet: lorsque j'essaie d'échafaudage d'un contrôleur, j'obtiens l'erreur suivante et TOUT et TOUT projet:

There was an error running the selected code generator:
'Exception has been thrown by the target of an invocation.'

Il fonctionnait avant la mise à jour de Visual Studio 2013 update 2.

Avoir googlé la question de la mort, mais aucune des diverses suggestions de travail

Par exemple:

  1. Commentant OnModelCreating dans mon contexte;

  2. La suppression de paquets tels que MvcScaffolding, etc (je n'en ai pas installé, et il ne fonctionne pas avec n'IMPORTE quel projet);

J'ai modifié/personnalisée certains modèles, mais elle s'emploie après les modifications.

EDIT:

J'ai désinstallé Visual Studio 2013 Update 2 et ce qui est revenue à la version de Visual Studio 12.0.21005.1 REL.

Le problème a disparu. Par conséquent, le problème est très certainement avec la mise à Jour 2.

QUESTION:

N'importe qui (y compris Microsoft) connaissaient un correctif?

EDIT 2:

Farruk Soubhani la réponse ne traite pas de la question: La question stipule clairement que la suppression des références à MVCScaffolding ne résout pas le problème.

J'ai ajouté un 200 point de bounty, veuillez répondre à la question comme l'indique clairement.

35voto

regisbsb Points 519

Hé pour vous tous que rien ne fonctionne, la vraie réponse est que vous devez supprimer tout ce qui a un configSource sur le web.config et la chaîne de connexion doit être en ligne.

12voto

awrigley Points 6468

Une combinaison de choses ont fonctionné pour moi:

  1. Mise à niveau de Visual Studio 2013 Update 3.

  2. Mise à niveau de l'Entité Cadre 6.1.1

  3. Modifier la configuration des contextes d'utilisation IDbSet<...> au lieu de DbSet<...> (j'ai entendu dire que cela peut affecter à l'aide des actions asynchrones, mais pas apparemment dans mon cas, comme je l'utiliser dans mon login actions, etc, tel que fourni par ASP.NET Identité 2 exemple de package Nuget).

Tout à fait pourquoi cette combinaison fonctionne, je n'ai aucune idée. Mais alors le tonitruant silence à partir de MS, je ne suis probablement pas le seul. Je suppose que la mise à jour 2 ne fonctionne pas...

3voto

The Victor Points 33

J'ai eu le même problème avec Visual Studio 2013 Update 3, mais seulement pour les scaffolders de travail avec Entity Framework. Le problème semble être causé par l'incompatibilité entre Entity Framework 6.1.0 et la scaffolders dans Visual Studio 2013 Update 2 et au-dessus.

Pour mettre à niveau EF effectuer les opérations suivantes:

Désinstaller-Paquet EntityFramework -Force

Install-Package EntityFramework

Cette réponse est empruntée ici

Après la mise à niveau de la scaffolders fonctionnent très bien pour moi. Assurez-vous d'installer la nouvelle version dans tous les projets où Entity Framework est nécessaire.

2voto

Math Points 32

Dans mon cas, j’ai résolu le problème de la chaîne de connexion dans le fichier web.config.

Avant la question que j'ai

   <connectionStrings configSource="Configs\ConnectionString.config"/>
 

et je ne sais pas pourquoi, mais je ne peux pas me connecter à la base de données et échouer.

après le changement

 <connectionStrings>
    <add name="UIBuilderContext" connectionString="metadata=res:/ ..... " />
  </connectionStrings>
 

et il fonctionne

1voto

Farrukh Subhani Points 905

J'ai effectué des opérations suivantes pour résoudre ce problème:

  1. Dans le Gestionnaire de paquets de vérifier si vous avez MVCScffolding ou T4Scaffolding (Core ou avant la libération pour vs2013)
  2. Désinstaller tous emballés qui dépendent l'un de MVCScaffolding ou T4Scaffolding
  3. Copie CodeTemplates Dossier complet (Ne pas remplacer vos modèles personnalisés mais assurez-vous d'avoir reste des fichiers à partir de la racine de ce dossier. Je retire ce que vous avez fait la partie que vous avez personnalisé des modèles de sorte que vous savez où ce dossier est)
  4. Construire Votre projet et de le fermer.
  5. Redémarrez Visual Studio en mode admin
  6. Ouvrez le Gestionnaire de Package de la Console (il ne devrait pas avoir d'erreurs et vous pouvez voir PM> sans erreurs.
  7. Clic droit sur le dossier Contrôleur et sélectionnez Ajouter->Nouvel Élément d'Échafaudage ou sélectionnez Ajouter->Contrôleur de fois devriez demander à celui qui vous voulez, puis choisissez MVC5 échafaudage ou qui apparaît dans la liste.
  8. Vous obtiendrez alors de sélectionner vos paramètres si son contrôleur, vous pourriez avoir besoin de choisir DBContext ou référentiel etc.

Ce produit, le contrôleur et les points de vue pertinents pour moi.

J'ai ajouté une coutume vue partielle appelé QuickView dans ce dossier, cependant cet échafaudage procédure ne considère pas que cela et n'ont généré que des points de vue qu'il était en train de faire par défaut. Je ne suis pas sûr si vous devez ajouter ces vues personnalisées dans un fichier de dire Scaffolder pour générer de ceux aussi bien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X