La vue "Index" ou son maître n'a pas été trouvé
Je suis nouveau sur le C# MVC type de projet et quand j'ai créé un vide C# MVC projet, j'ai remarqué l'erreur suivante:
The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/ControllerName/Index.aspx
~/Views/ControllerName/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/ControllerName/Index.cshtml
~/Views/ControllerName/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
J'ai l'Index".cshtml" fichier dans le dossier Vues. Pourquoi le moteur MVC regardez pas directement sous le dossier Vues? Comment puis-je résoudre ce problème?
Mon RouteConfig.cs contenu sont:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = <ControllerName>, action = "Index", id = UrlParameter.Optional }
);
Mon contrôleur contenu:
public ActionResult Index()
{
return View();
}
Assurez-vous que le fichier existe sur le disque et non pas la confiance de Visual Studio fichier de carte. Cela peut se produire si vous utilisez le contrôle à la source et d'autres de commettre le csproj mais la cshtml.
OriginalL'auteur Bugaboo | 2014-08-08
Vous devez vous connecter pour publier un commentaire.
MVC regarde pour les vues (comme Index) sous le dossier vues, mais ils ont aussi à être sous un dossier nommé d'après leur contrôleur (avec quelques exceptions comme les partiels).
Donc, c'est la structure que vous souhaitez suivre dans votre projet
OriginalL'auteur Shoe
J'ai eu ce problème plusieurs fois avant et il peut être l'un des autres réponses, mais elle peut aussi être de l'Action de Construire qui est à l'origine du problème.
Si vous faites un clic droit sur le .cshtml/.vbhtml fichier que vous avez un problème avec, sélectionnez Propriétés, et dans la fenêtre propriétés de l'ensemble de l'Action de Construire à Contenu alors cela peut être une solution à votre problème.
OriginalL'auteur John
Le MVC moteur de recherche pour une vue sous Partagé ou dans le dossier qui est nommé comme le préfixe de votre contrôleur de classe. Donc, si vous avez
ABCController
vous devez avoir votreIndex.cshtml
vue dans le dossierViews/ABC
.PS : Dans votre exemple, vous avez un suffixe à votre nom de contrôleur (
ControllerName
), je ne pense pas que c'est une bonne pratique, toujours le nom de votre contrôleurs[Name]Controller
OriginalL'auteur IEatBagels
Lorsqu'une vue est retourné, il s'attend à ce qu'un associé
.cshtml
fichier est dans le même dossier de vue de la structure en tant que contrôleur de mise en page pour cette zone (si pas de zones sont en cours d'utilisation, il est à seulement 1 dossier de vue et 1 contrôleur de dossier). Le contrôleur nom sera le nom du dossier dans le dossier vues, et le actionresult nom sera le nom attendu de la .cshtml fichier.Heureusement, il ya un moyen facile de remédier à la situation où la vue est manquante dans le fichier. Clic droit sur
Index
pour votre action résultat, puis sélectionnez Ajouter une Vue. Cliquez sur ok, et il va créerIndex.cshtml
pour vous à l'intérieur du dossier correct. Maintenant, lorsque vous exécutez le projet, puis accédez àIndex
, qu'est ce que vous allez voir.OriginalL'auteur Travis J
Si vous avez déployé manuellement le code d'une instance de IIS, assurez-vous que l'Application de la Piscine de l'Identité qui est utilisé pour cette application dans IIS a des droits sur les dossiers dans l'application.
Une bonne façon de diagnostiquer si c'est quelque chose de mal avec votre code ou quelque chose de mal avec vos paramètres IIS est de l'exécuter dans le VS 201X débogueur. Si il est là, mais ne fonctionne pas sous IIS directement, il ya une bonne chance que l'Application de l'Identité du Pool de sécurité est pillée.
OriginalL'auteur Greg Grater
Vous pouvez avoir de l'ancienne et de la mauvaise ASP.Net assemblées dans votre construction.
Si vous avez fait sûr vous avez votre Contrôleur, de noms et d'Afficher les noms de tous à la bonne place, il ya une bonne chance que votre MVC/ASP Assemblée est d'avoir des problèmes de travail avec le courant Mono environnement.
Si vous avez essayé les astuces pour copier tous les .Net assemblées, vous pouvez trouver et marquer dans votre poubelle, il ya une bonne chance Mono ou sa configuration n'est pas en les conjuguant correctement - et vous n'avez pas besoin de faire cela.
J'ai eu ce problème lors de la mise à jour d'une machine pour la dernière Mono construire. J'ai éliminé ces assemblées à partir de mon bac, et NuGet ed les dernières assemblées dans le Mono MVC dossier Packages.
Première chose que vous allez voir, c'est:
Cela permettra de résoudre ces problèmes.
OriginalL'auteur InquisitionX
J'avais un répertoire virtuel qui n'était pas correctement référencer le répertoire réel.
(Sur Windows) j'ai résolu en allant dans IIS (Internet Information Services), et en cliquant-droit sur le répertoire virtuel qui n'a pas été correctement référencé (Dans votre cas,
Views
).Répertoires virtuels auront ce petit icône à côté d'eux:
Droit de la souris, puis sélectionnez
Manage Virtual Directory
>Advanced Settings
. S'assurer que le chemin d'accès Physique correspond à l'endroit où vous pensez qu'elle devrait être:Cela ne va pas s'appliquer à tous les cas, mais c'est une correspondance possible pour certains cas.
OriginalL'auteur Eleanor Zimmermann
Je sais que c'est un vieux post, mais j'ai couru dans cette même situation en cours d'exécution sur Ubuuntu 16.04 et Mono 4.2.1 et rien de tout cela a aidé. J'ai commencé à creuser d'autres choses et après une semaine, j'ai trouvé que pour une raison Microsoft.Web.WebPages.OAuth.dll a cause de cette erreur. après la suppression de cette dll et la suppression de tous les refrenses (je ne suis pas en utilisant l'open auth de toute façon) tout, tout de suite commencé à travailler, même à l'aide de simple adhésion avec MySQL. Donc, je voulais poster ça ici au cas où quelqu'un d'autre s'exécute dans cette même situation sur Mono et Linux parce que cela vient de google.
OriginalL'auteur Jacqueline Loriault
Un diagnostic utiles étape est de faire un clic droit à l'intérieur du Contrôleur de l'Action, choisissez "Aller À la Vue".
Si Visual Studio, vous pouvez trouver le point de vue, il est sans doute dans le bon dossier, afin de re-vérifier votre URL. Par exemple, si vous utilisez un espace, puis le nom de la zone devrait être dans l'URL:
OriginalL'auteur Mark