"Ne pouvait pas charger le type [Namespace].Global " me causant du chagrin

dans my .Net 2.0 Asp.net l'application WebForms, j'ai mon Global.asax contenant le code suivant:

<%@ Application CodeBehind="Global.asax.cs" Inherits="MyNamespace.Global" Language="C#" %>

cependant quand je construis je reçois une erreur disant -

ne pouvait pas charger le type 'MyNamespace.Mondial".

cela semble être dû au namespace de MyNamespace (défini dans le code derrière le fichier Global.asax.cs) n'est pas vu par le compilateur dans le monde.fichier asax (n'apparaît pas dans R# intellisence..). Cela s'est avéré être un écrou très difficile à briser... toute aide sera appréciée!

Remarque: Le Global.asax et le Global.asax.cs sont situés dans le même dossier.

Note 2: lors de la compilation à partir de l'invite vs avec csc, elle compile O. K.

98
demandé sur Ben Smith 2010-01-05 14:39:48

30 réponses

une situation que j'ai rencontrée et qui a causé ce problème est quand vous spécifiez la plate-forme pour un build par"Build Configuration".

si vous spécifiez x86 comme plate-forme de construction, visual studio assignera automatiquement bin/x86/Debug comme répertoire de sortie pour ce projet. Ceci est parfaitement valable pour d'autres types de projets, sauf pour les applications web où ASP.NET s'attend à ce que les assemblages soient affichés dans le dossier Bin.

Ce Que Je trouvé dans ma situation était qu'ils étaient produits à la fois (Bin et Bin/x86/Debug), à l'exception que certains de la dll, et inexplicablement le plus important étant votre application web dll, étant manquant dans le dossier Bin.

cela a évidemment causé un problème de compilation et donc l'exception" Could not load type Global". Le nettoyage de la solution et la suppression des assemblages n'ont fait aucune différence pour les constructions ultérieures. Ma solution était de changer la sortie chemin dans les paramètres de projet pour L'application web à Bin (plutôt que bin/x86/Debug).

149
répondu stantona 2014-05-20 06:11:51

avez-vous changé le namespace de votre projet? J'ai vu cela se produire de temps en temps lorsque j'ai changé l'espace de noms dans la boîte de dialogue Propriétés du projet, mais Visual Studio n'a pas changé la déclaration namespace dans les fichiers de code existants.

16
répondu PhilPursglove 2010-01-05 12:28:22

je suis nouveau à l'asp .net développement et à j'ai rencontrés le même problème.

j'ai mis à jour la classe comme une classe partial et ça a bien marché.

public partial class Global : System.Web.HttpApplication
14
répondu sri 2014-08-16 00:15:07

J'ai redémarré Visual Studio et l'erreur a disparu!

9
répondu Manoj Attal 2014-11-26 01:28:31

en voici un autre pour les livres. Il semble que cela se produit lorsque vous lancez plus d'une application web à partir du même numéro de port.

en gros, j'ai quelques branches que je travaille, j'ai une branche principale et une branche de staging et une branche de release. Lorsque j'ai changé de branche pour la branche staging, j'ai remarqué qu'elle utilisait la même configuration d'adresse de port, donc j'ai choisi de changer cela. J'ai alors reçu un autre avertissement que cette réserve avec une autre application configurée. Le serveur IIS Express est sensible à ce sujet et pour quelque raison que ce soit, il bloque la configuration.

En choisissant simplement un troisième port non affecté ce problème a disparu parce qu'il mappe alors le port à un nouveau répertoire de mappage (mes branches sont situées différemment sur le disque). J'ai remarqué cela parce que j'ai essayé de changer le nom de type pointé par Global.asax mais le nom de type était inchangé même après redémarrage du serveur, donc clairement, le le code que je changeais n'a pas été reflété par le déploiement de L'IIS Express.

donc, avant de perdre trop de sommeil pour cela, essayez de changer le numéro de port IIS qui est actuellement utilisé pour exécuter le projet web.

4
répondu John Leidegren 2014-04-16 18:42:36
  1. cliquez avec le bouton droit de la souris sur la Solution du projet et sélectionnez Lot Build.
  2. sélectionnez ensuite le nom de votre projet et nettoyez et reconstruisez.

fonctionne très bien pour moi dans VS 2015.Maintenant, je peux Utiliser événement Mondial. Mon fichier Global.asax a cette ligne

<%@ Application Language="C#" CodeBehind="~/App_Code/Global.asax.cs" Inherits="Global" %>

et je fais le fichier de classe Global.asax.cs qui est dans AppCode dossier qui ressemble à

public partial class Global : HttpApplication
{
    public Global()
    {
        //
        // TODO: Add constructor logic here
        //
    }
}

j'espère que cela aidera

4
répondu parimal 2016-04-07 09:44:31

Vérifiez L'action de construction de Global.asax.cs. Il devrait être configuré pour compiler.

Dans l'Explorateur de solutions, cliquez-Droit Mondial.asax.cs et allez dans les Propriétés. Dans le volet Propriétés, définissez L'Action de construction (alors que n'est pas débogage).

il semble que VS 2008 n'ajoute pas toujours le .asax(.cs) les fichiers correctement par défaut.

2
répondu apollodude217 2010-01-07 20:04:17

dans ma situation, il était lié au type de Site Web/Application Web du projet. Nous avons récemment déménagé au MVC et avons dû le changer en Application Web.

ainsi, la solution était simple: sélectionnez votre site Web dans Solution Explorer et le retirer de la solution, puis clic droit sur la solution et sélectionnez Ajouter- > projet existant ( pas Site Web ), recompiler le site web.

2
répondu Sergey 2011-11-28 21:51:30

vieux post mais je vais Cette erreur en essayant de convertir du projet de site Web au projet d'application web.

suivez les instructions sur ce lien . J'ai toujours le mondial.asax erreur, mais j'ai tout supprimer et de re-l'ajouter en cliquant droit sur le projet dans visual studio et en sélectionnant ajouter un nouvel élément. Ajouter le mondial.dossier asax et ça a marché.

2
répondu mjroodt 2012-08-23 15:24:41

j'ai vécu une semblable erreur lors de la présence d'une

<clear/>

étiquette comme un enfant (le premier enfant) de la

<assemblies>

tag dans mon "151970920 Web".config . J'avais inséré les étiquettes dans mon web.config dans une tentative d'empêcher l'héritage de configuration dans une application déployée sous le "site Web par défaut" dans IIS.

2
répondu jasonjonesutah 2012-08-30 22:50:14

j'avais converti ma solution de VS2003 à VS2010 et j'avais eu des problèmes pour convertir le projet d'application web.

j'ai vécu exactement le même problème et aucune réponse n'a fonctionné pour moi.

ce qui a fonctionné pour moi était:

  • clic droit sur la solution et sélectionnez Gestionnaire de Configuration
  • a examiné chacune des configurations dans la liste déroulante "Active solution configuration".
  • incluait l'application web dans la compilation en cochant la case "construire".

il semblerait que les problèmes que j'ai eu pendant la conversion avaient enlevé le projet d'application web de la construction pour une raison quelconque.

espérons que cette réponse AIDE quelqu'un d'autre qui a le même problème...

2
répondu mezoid 2014-05-20 06:34:57

si vous reconstruisez ou changez un projet et déplacez des fichiers d'un ancien, assurez-vous de vérifier le bloc D'héritage de votre global. Dans mon cas, l'ancien projet/solution s'appelait intranet, et je l'avais recréé en tant Qu'Intranet, mais quand j'ai parcouru les fichiers, il n'aimait pas les minuscules (duh). Il suffit de faire une apparence générale-par le biais des noms des fichiers.

1
répondu archangel76 2012-04-06 17:40:52

changer le guide de l'Assemblée. Cela résout beaucoup de problèmes, j'ai trouvé.

1
répondu Nathan M 2013-08-23 05:43:47

j'ai eu des problèmes similaires où je recevais cette erreur sur un projet.

“Could not load type [Namespace].Global
Error in Line 1   etc etc

après avoir passé un certain temps je soupçonne une fonction avec des erreurs possibles dans une classe ..plus tard commentant cette fonction spécifique mon problème obtenir résolu.

Je ne sais pas pourquoi Visual Studio ne m'a pas donné cette erreur spécifique au moment du débogage. Mais cette erreur pourrait se produire en raison de certaines erreurs dans le fichier de classe..

1
répondu panky sharma 2013-10-24 13:39:20

rien de tout cela n'a fonctionné pour moi, malheureusement. Le correctif que j'ai trouvé était plus spécifique au développement, spécifiquement, le débogage sur votre machine locale. Et malheureusement, ça ne règle pas vraiment le problème comme je l'espérais, mais si vous êtes à bout de nerfs, ça pourrait vous faire courir à nouveau.

TL; DR: dans les propriétés du projet, dans l'onglet web, sous Serveurs, sélectionnez Utiliser le serveur Web local IIS. L'adresse,

http://localhost/MyApp" 

était déjà peuplé (j'ai IIS7, .NET 4.0). Ce qui a été sélectionné à l'origine était le "Use Visual Studio Development Server" avec un chemin virtuel de " / "

ce qui me laisse perplexe, c'est que rien d'autre n'a fonctionné, j'ai passé en revue toutes les suggestions que j'ai pu trouver sur SO, et rien ne marcherait. Ce qui est bizarre, c'est que l'erreur a été (apparemment, cela fait quelques mois que j'ai regardé pour la dernière fois) manifestée lorsque j'ai ajouté un nouveau fichier ascx qui était similaire à un fichier existant qui a été ajouté d'un vieux projet .net 2.0 (je pense) qui permettrait la gestion personnalisée de l'utilisateur à partir de l'application. Ça marchait, magnifiquement, pendant longtemps, jusqu'à ce que j'essaye d'ajouter ce nouveau fichier. Après l'avoir ajouté, et en voyant l'erreur, j'ai rapidement inversé tous les changements, sauf le Global.l'erreur ascx ne disparaîtrait pas, pas même en faisant sauter tout le projet et en récupérant les dernières nouvelles du contrôle source.

1
répondu BrDaHa 2013-12-06 20:27:24

Ce travail pour moi: Première chose: il semble que peu importe ce que vous avez dit à visual studio, l'ide regarde toujours le fichier dans: bin (pour l'application web et hors cours dans mon cas) donc, même quand j'ai dit à visual studio un chemin spécifique pour charger le fichier, l'ide continue à chercher le mauvais chemin. Donc je change dans le Gestionnaire: Build / Configuration le type de sortie en: Release (précédent je nettoie la solution, même manuellement) donc, quand le fichier .dll a été créé puis je me suis déplacé manuellement dans le dossier" bin " sous le dossier Projet / solution. J'espère que ce sera utile !!

1
répondu galimatias 2014-01-07 22:56:21

dans mon cas, c'est à cause de mon processeur cible (x64) que je l'ai changé en x86 nettoyé le projet, redémarré VS(2012) et reconstruit le projet, puis il a disparu.

1
répondu notmrkyle 2015-02-11 01:55:02

quand j'ai rencontré ce problème plus récemment, j'ai essayé tout mentionné ici, mais en vain. Après avoir arraché Mes cheveux, j'ai décidé d'essayer de supprimer mon code entier base (oui, assez désespéré!) et ensuite tout re-téléchargé à partir de mon dépôt de code. Après avoir fait cela, tout fonctionnait bien une fois de plus.

semble une solution extrême mais j'ai juste pensé que je l'inclurais ici comme il n'a pas été mentionné avant dans ce fil.

(notez que l'autre fois où j'ai rencontré ce problème, c'est quand le Global.asax héritait d'un composant qui devait être enregistré sur la machine hôte. Cela manquait donc j'ai eu ce même problème).

TL;DR; si toutes les réponses dans ce thread ne fonctionnent pas pour vous, essayez de supprimer puis de télécharger à nouveau votre base de code entière!

1
répondu Ben Smith 2015-02-11 15:46:15

j'ai parcouru ce numéro plusieurs fois et dans chaque cas, j'étais en train de reconstruire un ordinateur ou de passer à un nouvel ordinateur. Ma première étape (en plus de la mise à jour de la machine et de L'installation de Visual Studio) est de retirer mes projets de Git et de les tester.

j'ai frappé cette erreur à chaque fois parce que j'ai essayé d'accéder à mon code local avant de le compiler. Vous voyez, J'ai mis en place Git et Subversion pour ignorer mes dossiers bin / build, donc après un retrait de mon dépôt j'ai oublié d'exécuter un build qui tire les paquets nécessaires de Nuget (puisque j'ai git/SVN les ignorer aussi) et crée les DLLs nécessaires pour réellement exécuter mon application.

je doute que cela va résoudre les problèmes de la plupart des gens, mais je ne l'ai pas vu sur la liste des solutions possibles, donc j'ai pensé que je voudrais l'ajouter.

1
répondu Capt. Rochefort 2015-05-19 16:38:26

j'ai été embrouillé par la même question. J'ai essayé de supprimer et le global.asax (fermé VS2010 avant d'ajouter). Nettoyé le projet / solution, vérifié tous les changements dans la configuration de l'application web et d'autres étoffes qui avaient fonctionné pour d'autres personnes ici dans les fils SO. J'ai finalement nettoyé la solution, supprimé les dossiers bin/obj et arrêté tous les serveurs de développement VS2010, puis j'ai inversé tous les changements et j'ai trouvé que l'application fonctionnait à nouveau. J'ai refait la même chose et maintenant ça marche très bien.

est arrivé à nouveau et cette fois cette solution a fonctionné pour moi.

0
répondu rageit 2017-05-23 12:10:36

allez à Gestionnaire de configuration sous Propriétés pour votre solution. Ensuite, assurez-vous que tous les projets et de se construire, et ce ne sera pas un problème.

0
répondu Matthew Hart 2013-05-01 19:07:21

j'ai dû supprimer (dupliquer) des fichiers du disque qui n'étaient pas inclus dans le projet. On dirait que les doublons ont été causés par un changement de nom. Les noms de fichier étaient différents, mais le même code.

après suppression de tout l'oof.* les fichiers, j'ai été capable de scanner.

  • foo.aspx 151960920"
  • foo.aspx.cs
  • foo.aspx.designer.cs
  • adb.aspx 151960920"
  • adb.aspx.cs
  • adb.aspx.designer.cs
0
répondu Eric Rohlfs 2015-07-22 13:56:34

dans mon cas C'était IISExpress pointant vers le même port que IIS pour le résoudre, allez à

C:\Users\Your-User-Name\Documents\IISExpress\config\applicationhost.config

et rechercher le port, vous trouverez <site>...</site> étiquette que vous devez supprimer ou commenter

0
répondu Mo Hrad A 2015-09-08 03:42:02

dans mon cas, J'avais ajouté Global.asax à un projet de la WCF pour l'expérimenter, mais a décidé de l'enlever. Je l'ai retiré de Solution Explorer, mais parce qu'il était toujours dans le dossier, le pipeline le trouvait toujours et causait cette erreur.

j'ai supprimé le Global.ASAX et GLobal.asax.cs du système de fichiers et qui a résolu l'erreur.

0
répondu Beans 2016-01-28 17:58:25

j'ai eu ce problème lors du déploiement sur prod server seulement. Dans mes autres environnements, il fonctionne... J'ai juste effacé des trucs dans le dossier bin, puis réédite et ça marche après ça.

0
répondu Raphael 2017-03-24 11:56:05

si vous utilisez Visual Studio, vous essayez probablement d'exécuter l'application en mode Release, essayez de la changer en mode Debug.

0
répondu sham 2017-06-07 11:02:06

j'ai essayé de reconstruire solution et clair ASP.NET dossiers temporaires sans succès.

Mais après l'exécution IISRESET l'erreur a disparu.

mise à Jour : j'ai eu le même problème à nouveau 1 mois plus tard. J'ai remarqué que Monsite.DLL existe dans le dossier bin, mais N'existe pas dans temporaire ASP.NET dossiers (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET fichiers). J'ai essayé quelques choses, qui sont suggérés sur ce et "Parser message D'erreur: ne pouvait pas charger le type" dans Global.asax questions (j'ai en fait oublié ma propre réponse), mais l'erreur a disparu à nouveau seulement après IISRESET

0
répondu Michael Freidgeim 2017-07-25 12:01:06

bien dans mon cas VS 2017, la charge de solution légère était à l'origine de ce problème. Je l'ai désactivé et redémarré VS puis reconstituer ma solution et le problème disparu.

0
répondu Siddharth Kumar 2017-08-22 07:24:37

je voulais juste ajouter mes deux cents. Je recevais la même erreur, et j'ai essayé toutes les suggestions en vain. Ma situation est probablement différente?

S'avère, un AssemblyInfo généré automatiquement.le fichier cs " avait des espaces extérieurs, ce qui m'empêchait de lancer l'application web (via debug). Voici à quoi ressemblait le fichier:

[assembly: AssemblyTitle("WebApplication2")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("

            ")]
[assembly: AssemblyProduct("WebApplication2")]
[assembly: AssemblyCopyright("Copyright © 

             2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

après avoir tué les espaces dans L'AssemblyCompany et AssemblyCopyright, j'étais enfin en mesure de construire et de lancer le projet.

observée dans l'environnement suivant: --Visual Studio 2017 version Communautaire 15.3.0 -- Win 7 x64 Enterprise --Nouveau projet > visuel C# > Web > ASP.NET Application web > formulaires Web

0
répondu raydlevel5 2017-09-06 14:14:50

j'ai éprouvé ce problème lorsque j'ai accidentellement configuré" Chrome " pour être le navigateur par défaut pour le débogage. Quand je l'ai ramené à" IE " le problème a disparu. Je ne suis pas sûr pourquoi...


EDIT: j'ai été sur le point de supprimer cette réponse, parce que je n'étais pas sûr à ce sujet, mais j'ai eu de nouveau le problème. Je suis passé à la navigation avec Chrome, puis de nouveau à IE et il s'est arrêté! Ce qui donne un!?

0
répondu Fedor Steeman 2017-09-22 13:06:42