2017-10-13 2 views
0

En utilisant l'application Asp.Net Core 2.0 MVC6 par défaut et pour vraiment construire avec les principes SOC, j'ai déplacé l'ApplicationUser et le DbContext pour séparer les projets de bibliothèque de classes. Solution Folder La solution est créée, mais lorsque l'application est exécutée, elle génère l'erreur suivante.Construction de l'application MVC 6, mais erreur dans la vue après déplacement de l'identité vers le nouveau projet

Je l'ai maintenant essayé sur de nombreux nouveaux projets, en déplaçant simplement ApplicationUser vers sa propre bibliothèque Classes ou en déplaçant ApplicationUser vers une bibliothèque de classes et ApplicationDbContext et ses migrations vers un projet de bibliothèque de classes distinct. (Comme indiqué dans l'arborescence du projet ci-dessus) et chaque fois que j'essaie d'exécuter l'application, j'obtiens cette erreur. J'ai vérifié chaque fichier dans le projet. Il n'y a pas d'erreurs de codage partout dans la solution relative à UserManager, SignInManager, ApplicationUser etc.)

enter image description here

peu que je l'ai trouvé sur ce sujet ne me aide. Une solution dit éliminer le fichier global.json. Ma solution n'en a pas.

Le fichier Microsoft.NET.Sdk.Web semble ancien, il a été mis à jour il y a 15 mois. Est-il encore utilisé? Je sais que le problème réside dans le déplacement des éléments d'identité vers des projets distincts, mais je ne sais pas pourquoi cette génération de vue est erronée sans erreurs de construction. J'ai d'abord sélectionné la réponse actuelle (je l'ai maintenant annulée) comme réponse car en passant en revue chaque fichier dans ce projet spécifique, j'avais corrigé l'erreur (sans le savoir) alors je lui ai donné un certain crédit pour me faire regarder à tout, même si VS ajoute automatiquement ceux qui utilisent des instructions pour résoudre les erreurs lorsque vous déplacez le fichier ApplicationUser.

Mais maintenant que cela se produit avec chaque solution de test que j'essaie, déplacez l'ApplicationUser et vous ne pouvez pas ouvrir la page de démarrage de l'application.

Le problème était dans la vue partielle _LoginPartial

Répondre

1

Vous aurez besoin d'ajouter une référence à votre projet de référencement Application.UIApplication.Domain. Sans le spécifier explicitement, votre application ne sera pas construite.

Vous aurez également besoin d'ajouter un @using Application.Domain; à un fichier dans lequel votre utilisant ApplicationUser

+0

@phuzi ... Application.UI fait référence Application.Domain et les déclarations en utilisant appropriées sont présents le cas échéant – dinotom

+0

EDIT: et plus loin, il y avait une vue qui avait besoin de l'instruction using. Vous ne savez pas pourquoi le projet est généré en cas d'erreurs dans les vues. – dinotom

+0

Les vues @dinotom ne sont pas compilées avant l'exécution. – phuzi