Ich habe mir zwei Tage lang die Haare ausgerissen. Ich habe wahrscheinlich Dutzende von SO-Vorschlägen gelesen und befolgt und bekomme immer noch einen Parserfehler.Parser Fehler Konnte den Typ [Namespace] nicht laden .Global
TL; DR:
Wir haben Dutzende von Dingen versucht, unsere Website von Parser-Fehler ohne Erfolg zu befreien.
Geschichte:
Wir hatten ein perfekt funktionierendes ASP.NET/JavaScript/AJAX gestern Website, dass unsere gesamte Produktionsfläche für die Verfolgung von Leiterplatten durch den Montageprozess verwendet. Ich habe eine Sicherungskopie davon erstellt und die UI-Änderungen implementiert und Fehler erhalten. Kopierte die Sicherungskopie oben auf der Website und alles war gut (außer die Änderungen wurden nicht bereitgestellt). Ich habe das mehrmals versucht und jedes Mal mit dem Backup wiederhergestellt.
Über Nacht dachte ich über nur eine Teststelle zu schaffen, um, zu implementieren und zu statt Schneiden & Einfügen, wie ich vorher getan hatte, benutzte ich Web in der IDE VS 2010 Veröffentlichen Sie auf die Testort, die ‚didn t Arbeit (es entfiel nur gut, aber gleiche oder ähnliche Parser-Fehler).
jedoch ...
Nun, egal, was ich tue, ist die Hauptproduktionsstätte * aus irgendeinem Grund gebrochen und versucht, die Website mit der Sicherung zu ersetzen, nicht mehr funktioniert, und wir haben verbracht den ganzen Tag bisher versucht dieses zu debuggen. Mein Kollege baut derzeit ein Minimum an Platz auf der Seite auf, damit unsere Produktionsarbeiter nachhaken können, während wir das klären.
Was wir versucht haben:
ziemlich jeder Vorschlag in diesem SO question, as well as this SO question, und diese SO question. Wahrscheinlich haben wir ein paar mehr vergessen.
- Wir haben die Test-Site von dem Webserver gelöscht, da beide Websites, um die exakt gleichen Namen für die default.aspx-Datei verwendet (nicht sicher, ob dies ein Problem war, aber seit dem Produktionsstandort unserer Fabrik verwendet nuked ist, gibt war nicht mehr notwendig für die Teststelle, bis wir die Produktionsstätte erreichen können).
- Wir haben das \ bin & \ obj Verzeichnisse gelöscht haben & wieder aufgebaut auf unsere beiden Boxen dev sowie dafür gesorgt, dass der Ausgabepfad in der Registerkarte Build eingestellt ist: bin \
- Die Anwendung läuft im Debug just fine/Freigabe auf meiner Dev Box und meiner Mitarbeiterbox.
- Wir haben die Website auf dem IIS-Server mehrmals gelöscht und neu erstellt.
- Wir haben eine neue Website & dort eingesetzt (gleiche Ausgaben) erstellt.
- Wir haben die Global.asax-Dateien aus [Projekt]> Hinzufügen> Neues Objekt> Globale Anwendungsklasse in unseren beiden Dev-Boxen entfernt und neu erstellt.
- Wir haben Dutzende Male neu kompiliert, heruntergefahren & starteten die IDE vor & nach der Neukompilierung (ich kann nicht sehen, wie dies einen Unterschied machen würde, aber es wurde mehr als einmal vorgeschlagen).
- Wir haben versucht, aus einer anderen IDE/dev-Box bereitzustellen.
- Auf dem Webserver haben wir den Anwendungspool zurück & zwischen .NET 2.0 & .NET 4.0 geändert (wo war es als wir angefangen haben).
- Wir haben versucht, CodeBehind to CodeFile. umbenennen (hat nicht funktioniert, gleichen Fehler).
- Auf dem Webserver haben wir sichergestellt, dass die Site im Verzeichnis Browsing aktiviert wurde (dies scheint irgendwie umgeschaltet zu werden, nicht sicher warum, aber wir bekommen manchmal 404 Fehler, die uns sagen, dass es umgeschaltet wird).
- Auf dem Webserver haben wir überprüft, dass IIS Pass-Through-Authentifizierung verwendet, und die Anwendung verwendet den globalen Administrator für den Zugriff und verfügt über alle erforderlichen Berechtigungen.
- Auf dem Webserver laufen alle unsere anderen Websites immer noch gut.
- Ich bin sicher, ich vergesse einige Dinge, die wir versucht haben.
Umwelt:
WebServer: Server 2012 w/IIS 8.5
Dev Boxen: Windows 7 Pro 64bit, w/VS 2010/2017 (in diesem Szenario nicht verwendet, aber wir haben es).
Anwendung: ASP.NET 3.5, mit JavaScript, JQuery, AJAX am Front-End, mit C# [WebMethod] s am Backend im Gespräch mit MariaDB (MySQL).
* Update:
Mein Mitarbeiter gerade die Schürf-by-til-wir-fix-it-Website und ist genau die gleiche Parser Problem zu schlagen. Jetzt erstellt er stattdessen eine WinForms App. Das führt mich zu der Annahme, dass es ein globaleres Problem als wir verstehen, aber alle unsere anderen Websites auf dem gleichen IIS-Server laufen immer noch gut, so dass es nicht serverweit sein kann oder sie würden nicht funktionieren.
tatsächliche Fehler wir sehen:
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:
Ich habe festgestellt, dass manchmal das Löschen des bin-Verzeichnisses und die Bereitstellung einer neuen Kopie funktioniert. Ich weiß nicht, ob du das noch ausprobiert hast oder nicht. –
Ja, wir haben das mehrmals versucht. – delliottg
Können Sie uns einen Stack-Trace zeigen? –