Je reçois l'erreur
Impossible de charger le type MvcApplication
lorsque j'essaie de lancer mon site Web.
Comment le corriger?
Je reçois l'erreur
Impossible de charger le type MvcApplication
lorsque j'essaie de lancer mon site Web.
Comment le corriger?
Réponses:
Aussi stupide que cela puisse paraître, a tout essayé et cela n'a pas fonctionné et a finalement redémarré VS2012 pour le voir fonctionner à nouveau.
-Pour moi, le correctif consistait à changer le chemin de sortie dans l'onglet build. J'ai changé le chemin de sortie en bin\
et l'erreur a disparu.
-Une autre solution pourrait être que vous avez le mauvais ensemble de projets de démarrage.
J'obtenais la même erreur et malgré tout ce qui était mentionné ici et ailleurs, rien ne fonctionnait. Il s'est avéré que j'avais copié le code source de global.asax.cs d'une version précédente du projet qui avait un nom différent. Donc, cela namespace Test
aurait dû être namespace Test.WebUI
. Une erreur stupide bien sûr et je suis un peu gêné d'écrire ceci! Mais en écrivant dans l'espoir qu'une erreur similaire de quelqu'un d'autre puisse le conduire à vérifier également cet aspect trivial.
Faites simplement une compilation manuelle de votre solution.
Si vous utilisez IIS local, essayez de supprimer l'enregistrement du site Web dans le gestionnaire IIS, puis de le recréer manuellement.
[Extrait de la question]
Si vous obtenez cette erreur: "Impossible de charger le type MvcApplication", examinez le chemin de sortie de votre projet et assurez-vous qu'il est défini sur "bin \". Le problème est que l'AspNetCompiler ne peut pas trouver les fichiers s'ils ne se trouvent pas à l'emplacement par défaut.
Un autre effet secondaire de la modification du dossier de sortie est que vous ne pourrez pas déboguer votre code et un message indiquant que les informations d'assembly sont introuvables.
bin
pour bin\Debug
et bin\Release
mais les anciens fichiers étaient toujours dans mon bin
dossier, donc je n'avais vu aucun problème. Bien sûr, si vous effectuez un check-out propre et créez ces fichiers n'existent pas pour vous, il explose.
J'ai eu le même problème et l'ai résolu avec les étapes ci-dessous
Ahh c'était ennuyeux.
Vous avez cette erreur après une coupure de courant et je suis retourné à mon projet.
J'ai essayé de redémarrer VS. J'ai essayé de définir le chemin de sortie sur \ bin. J'ai vérifié mes espaces de nom.
Mais ce qui a fonctionné pour moi, c'était de reconstruire la solution.
Reconstruire la solution !!!
Ma solution: parce que j'ai créé le problème! J'avais changé l'espace de noms dans Global.asax.cs
Vous devez également modifier la valeur de l'attribut Inherits dans Global.asax.
Vérifiez le code derrière les informations, fournies dans global.asax. Ils doivent pointer correctement vers la classe dans son code derrière.
exemple global.asax:
<%@ Application Codebehind="Global.asax.cs" Inherits="MyApplicationNamespace.MyMvcApplication" Language="C#" %>
exemple de code derrière:
namespace MyApplicationNamespace
{
public class MyMvcApplication : System.Web.HttpApplication
{
protected void Application_Start( )
{
AreaRegistration.RegisterAllAreas( );
FilterConfig.RegisterGlobalFilters( GlobalFilters.Filters );
RouteConfig.RegisterRoutes( RouteTable.Routes );
BundleConfig.RegisterBundles( BundleTable.Bundles );
}
}
}
Cela peut également se produire lors de l'exécution du projet dans Visual Studio si votre IIS Express a / héberge un projet ancien / différent utilisant la même affectation de port.
Pour résoudre ce problème, vous pouvez modifier l'attribution de port pour ce projet ou fermer IIS Express.
Si vous hébergez dans IIS express et que vous ouvrez votre projet dans deux emplacements différents, vous pouvez voir cette erreur.
La solution est d'aller sur Project/Properties/Web/Servers
et de cliquer Create Virtual Directory
.
La solution pour moi était de cliquer avec le bouton droit sur le projet Mvc, de choisir les propriétés et de cliquer sur Créer un répertoire virtuel.
Une boîte de message est apparue indiquant que le projet a été mappé sur le mauvais dossier (il a montré le dossier d'un autre projet TFS . Il a donné la possibilité de le mapper vers le dossier correct.
j'ai déjà eu bin/
dans mon onglet de construction. J'ai obtenu global.asax d'une autre copie du projet, mais cela n'a pas fonctionné.
La solution qui a finalement fonctionné pour moi a été de supprimer le bin/
dossier et de créer un nouveau dossier vide du même nom.
Je sais qu'il y a déjà beaucoup de solutions à cela, mais j'ai pensé que je mentionnerais simplement ce qui l'a résolu pour moi.
Ma configuration a été définie sur Debug. Le changer en Release a fait l'affaire pour moi.
J'obtenais cette erreur car j'exécutais le projet malgré quelques erreurs de compilation. Je ne l'ai pas remarqué.
Supprimez le contenu du dossier bin du site (utilisez l'explorateur de fichiers pour cela). Reconstruire.
Je suis tombé là-dedans. J'ai lu et testé toutes les solutions possibles qui ont été données auparavant. Vérifier le chemin de génération, construire, reconstruire, nettoyer, redémarrer IIS et VS2015, réinstaller tous les packages de nuget, les compiler un par un, etc., ...
Je me suis soudain souvenu que VS conserve certains fichiers temporaires ASP dans les dossiers système ... Je pense que je devrais essayer, après tout, cela ne pourrait pas empirer. J'ai donc vidé:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
Et tout fonctionne à nouveau ... Bizarre que ce problème ait des solutions si différentes ...
Je l'ai vu plusieurs fois au cours de la dernière décennie et je l'ai encore eu. De nombreux problèmes entraînent la même erreur.
Une cause est un changement de nom des fichiers. Si vous travaillez avec des fichiers .cshtml, vérifiez tous les espaces de noms dans ces fichiers et dans le fichier Views \ web.config. Pour les formulaires Web, renommez Default.aspx (les fichiers .cs et designer associés sont automatiquement renommés). Le code derrière change mais pas la ligne Hérits dans le balisage. Modifiez-le manuellement. Vérifiez la page du concepteur. Parfois (VS2005-8?), La page du concepteur ne reflète pas un changement dans l'espace de noms. Je n'ai pas vu cela en 2010+.
Un autre problème est quand tout fonctionne dans VS ou sur votre PC local mais pas lorsque vous déployez. Cela peut être dû au fait que l'environnement de déploiement n'est pas structuré de la même manière. Par exemple, l'erreur se produit si vous placez votre code dans un répertoire virtuel sous un dossier d'application, mais elle ne se produit pas si vous créez un nouveau dossier d'application et placez tous vos fichiers dedans. Je ne comprends pas celui-ci, car j'ai le nouvel ensemble enfant / dossier virtuel avec les mêmes autorisations (ou du moins je pense) et (je crois) le pool d'applications devrait fonctionner de la même manière pour tout dans un dossier d'application donné.
Dans mon cas, j'ai également eu un dossier bin avec des assemblys qui sont mis à jour à partir d'autres assemblys sur le serveur IIS. Encore une fois, la vérification de leur exécution dans un dossier d'application distinct a abouti.
HTH
J'obtiens ce problème chaque fois que j'enregistre un fichier qui est compilé dynamiquement (ascx, aspx, etc.). J'attends environ 8-10 secondes puis ça s'en va. C'est terriblement ennuyeux.
Je pensais que c'était peut-être un problème IIS Express, j'ai donc essayé sur le serveur de développement intégré et je le reçois toujours après avoir enregistré un fichier. J'utilise une application MVC, j'utilise également T4MVC, c'est peut-être un facteur ...
J'ai eu cette erreur frustrante dans l'environnement de développement dans Visual studio, et il s'est avéré que la raison était assez stupide. En bref, si vous avez plusieurs projets / sites Web en solution: assurez-vous que le port auquel vous essayez d'accéder au site Web est le même que celui configuré dans les propriétés du projet-> Web
Dans mon cas, l'erreur a été causée parce que j'utilisais un autre port pour accéder au site Web (dans le navigateur) tandis que le projet en solution se voyait attribuer un autre port. Pour expliquer un peu plus, j'ai eu deux projets de site Web dans ma solution Website1 (port affecté 8001 dans ISS par Visual-Studio) et Website2 (attribué port 8101 dans ISS par Visual-Studio). Donc, même si je construisais Website1, j'essayais d'accéder au site Web en utilisant locahost: 8101.
Maintenant que j'ai finalement réalisé le problème, je vois que le commentaire de @ StingyJack traite également du problème similaire.
Assurez-vous que l'espace de noms dans votre global.asax.cs correspond à l'espace de noms de votre webapp
J'ai eu à nouveau cette erreur et rien de ce qui précède n'a fonctionné pour moi. Je devais retirer le noeud suivant dans .csproj: <VisualStudio>....</VisualStudio>
. VS rechargé et cela a fonctionné.
Pour info, VS a réussi à recréer le nœud, puis j'ai recréé le site Web dans IIS (via VS) et cela a parfaitement fonctionné.
J'espère que cela aidera quelqu'un.
Ce qui a fonctionné pour moi, c'est le redémarrage de Visual Studio.
J'ai essayé de reconstruire manuellement, d'effectuer un nettoyage et une reconstruction, et de supprimer le dossier bin qui n'a pas fonctionné. Mon chemin de sortie était déjà défini sur bin \
Si vous avez modifié un espace de noms, assurez-vous de faire un clic droit et de refactoriser.
Cela peut se produire très souvent si vous modifiez votre espace de noms. Renvoyez le nom de votre espace de noms, comme il l'était auparavant, et cela devrait le faire fonctionner!
Dans certaines circonstances, les nouveaux projets que vous créez ne sont pas définis par défaut pour être créés. Si vous cliquez avec le bouton droit sur votre solution, choisissez Properties
, puis choisissez le Configuration Properties
| Configuration
nœud sur la gauche et assurez-vous que votre projet a une coche sous leBuild
colonne. Dans des circonstances normales, j'ai trouvé que cela se produit par défaut. Dans d'autres circonstances (il se trouve que j'ai une solution Web Api / Xamarin Android et iOS / Mvc 5 quelque peu complexe qui présente ce comportement), la coche n'est pas présente.
Ceci est lié aux autres réponses - si l'assembly de votre projet web n'est pas disponible, vous obtenez cette erreur. Mais cela pourrait être un scénario courant, d'autant plus que vous compilez en fait votre solution - le projet n'est tout simplement pas construit.
J'ai eu cette erreur car mon contrôle de version avait été configuré pour ignorer mon dossier bin . Très stupide, mais peut-être que quelqu'un d'autre en bénéficiera.
J'ai rencontré ce problème et je vois là toutes sortes de réponses mais rien n'a été accepté. Après un petit moment, j'ai découvert que la simple création du site Web avant d'essayer de résoudre avait résolu mon problème.