Je me suis arraché les cheveux pendant environ deux jours à ce sujet. J'ai lu et suivi probablement des dizaines de suggestions SO, et je reçois toujours une erreur d'analyseur.Erreur d'analyseur Impossible de charger le type [espace de nom] .Global
TL; DR:
Nous avons essayé des dizaines de choses à débarrasser notre site des erreurs d'analyse en vain.
Histoire:
Nous avions une ASP.NET parfaitement fonctionnelle/JavaScript/AJAX site hier que l'intégralité de notre site de production utilise pour les cartes de circuits de suivi à travers le processus d'assemblage. J'ai fait une sauvegarde de celui-ci et déployé les modifications de l'interface utilisateur et a commencé à obtenir des erreurs. Copié la copie de sauvegarde sur le site et tout s'est bien passé (sauf les modifications n'ont pas été déployées). J'ai essayé ceci plusieurs fois, chaque fois en récupérant avec la sauvegarde.
Pendant la nuit, je pensais simplement créer un site d'essai à déployer, et au lieu de couper & coller comme je l'avais fait auparavant, je Web Publication dans le VS 2010 IDE sur le site de test , qui n » ai pas t travail (il déployé très bien, mais même ou similaire erreurs d'analyse).
Mais ...
Maintenant, peu importe ce que je fais, le principal site de production est cassé * pour une raison quelconque, en essayant de remplacer le site avec la sauvegarde ne fonctionne plus, et nous avons passé toute la journée jusqu'à maintenant essayer de déboguer cela. Mon collègue travaille actuellement à la construction d'un site minimal pour permettre à nos travailleurs de la production de se débrouiller tout en réglant le problème.
Ce que nous avons essayé:
Quasiment toutes les suggestions dans ce SO question, as well as this SO question, et ce SO question. Probablement un peu plus nous avons oublié.
- Nous avons supprimé le site de test du serveur Web depuis les deux sites utilisés exactement le même nom pour le fichier default.aspx (pas sûr que c'était un problème, mais depuis le site de production de notre plancher de l'usine utilise est atomisé, il n'était plus nécessaire pour le site d'essai avant que nous puissions mettre le site de production en place).
- Nous avons supprimé le \ bin & \ répertoires obj & remises à neuf sur nos deux boîtes de dev, ainsi que fait en sorte que le chemin de sortie dans l'onglet Build est réglé sur: bin \
- L'application fonctionne très bien dans debug/libère sur mon Dev Box et la boîte de mes collègues aussi.
- Nous avons supprimé et recréé plusieurs fois le site Web sur le serveur IIS.
- Nous avons créé un nouveau site Web & déployé là (mêmes questions).
- Nous avons supprimé et recréé les fichiers Global.asax de [Projet]> Ajouter> Nouvel élément> Global Application Class dans nos deux boîtes de dev.
- Nous avons recompilé des dizaines de fois, éteint & redémarré l'IDE avant & après recompilation (je ne vois pas comment cela ferait une différence, mais il a été suggéré plus d'une fois).
- Nous avons essayé de déployer à partir d'un autre IDE/boîte de dev.
- Sur le serveur Web, nous avons modifié le pool d'applications & entre .NET 2.0 & .NET 4.0 (où il était lorsque nous avons démarré).
- Nous avons essayé de renommer CodeBehind to CodeFile. (ne fonctionnait pas, même erreur). Sur le serveur Web, nous nous sommes assurés que le site était activé dans la navigation dans les répertoires (cela semble être modifié, pas sûr pourquoi, mais nous avons parfois des erreurs 404 qui nous indiquent qu'il est basculé).
- Sur le serveur Web, nous avons vérifié qu'IIS utilise l'authentification unique et que l'application utilise l'administrateur global pour l'accès et dispose de toutes les autorisations dont elle a besoin.
- Sur le serveur Web, tous nos autres sites fonctionnent toujours correctement.
- Je suis sûr que j'oublie certaines choses que nous avons essayées.
Environnement:
WebServer: Server 2012 w/IIS 8.5
boîtes Dev: Windows 7 64bit Pro, w/VS 2010/2017 (non utilisé dans ce scénario, mais nous avons il).
Application: ASP.NET 3.5, en utilisant JavaScript, JQuery, AJAX sur le front end, avec C# [WebMethod] s à l'arrière communiquant avec MariaDB (MySQL).
* Mise à jour:
Mon collègue vient de terminer l'éraflure par til-nous-fix-it site, et frappe le problème exact même analyseur. Alors maintenant, il crée une application WinForms à la place. Cela m'amène à croire qu'il y a un problème plus global que nous ne le croyons, mais tous nos autres sites sur le même serveur IIS fonctionnent encore très bien, donc ils ne peuvent pas être utilisés sur le serveur ou ne fonctionneraient pas.
erreur réelle que nous voyons:
Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'PCBIDRecord.Global'.
Source Error:
Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="PCBIDRecord.Global" Language="C#" %>
Source File: /global.asax Line: 1
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1087.0
Stack Trace:
Event code: 3006
Event message: A parser error has occurred.
Event time: 6/13/2017 4:38:10 PM
Event time (UTC): 6/13/2017 11:38:10 PM
Event ID: 7effc328553b424c8f6005608ed8f11b
Event sequence: 1
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT-1-131418706905858364
Trust level: Full
Application Virtual Path:/
Application Path: C:\inetpub\wwwroot\PCBClient\
Machine name: [REDACTED]
Process information:
Process ID: 1316
Process name: w3wp.exe
Account name: IIS APPPOOL\PCBClient
Exception information:
Exception type: HttpException
Exception message: Could not load type 'PCBIDRecord.Global'.
at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
Could not load type 'PCBIDRecord.Global'.
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
at System.Web.UI.TemplateParser.ParseInternal()
at System.Web.UI.TemplateParser.Parse()
at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)
at System.Web.Compilation.BuildManager.CompileGlobalAsax()
at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
Could not load type 'PCBIDRecord.Global'.
at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
Could not load type 'PCBIDRecord.Global'.
at System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)
at System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly)
at System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData)
Request information:
Request URL: http://[REDACTED]/
Request path:/
User host address: [REDACTED]
User:
Is authenticated: False
Authentication Type:
Thread account name: IIS APPPOOL\PCBClient
Thread information:
Thread ID: 6
Thread account name: IIS APPPOOL\PCBClient
Is impersonating: False
Stack trace: at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException()
at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
Custom event details:
J'ai trouvé que parfois supprimer le répertoire bin et déployer une nouvelle copie fonctionne. Je ne sais pas si c'est quelque chose que tu as essayé ou pas. –
Oui, nous avons essayé cela, plusieurs fois. – delliottg
Pouvez-vous nous montrer une trace de pile? –