2017-06-13 40 views
0

我一直在這裏撕掉我的頭髮約兩天。我已經閱讀並遵循了大概幾十個SO建議,而且我仍然收到解析器錯誤。解析器錯誤無法加載類型[命名空間]。全局

TL; DR:

我們試過數十事情擺脫我們的解析器錯誤的網站無濟於事。

歷史:

我們昨天有一個功能完善的ASP.NET/JavaScript的/ AJAX網站,我們整個生產車間使用,通過裝配過程跟蹤電路板。我做了一個備份並部署了UI更改並開始出現錯誤。複製網站頂部的備份副本,一切正常(除非未部署更改)。我試了幾次,每次都用備份恢復。

一夜之間,我想到剛剛創建一個測試站點我以前做了部署和來,而不是切割&粘貼,我用在VS 2010 IDE的Web發佈到試驗場,這沒」工作(它部署得很好,但相同或相似的解析器錯誤)。

但是...

現在,無論我做什麼,主要的生產基地被打破*由於某種原因,試圖取代與備份不再適用於網站,我們已經花了迄今爲止一整天都在試圖調試這一點。我的同事目前正在建立一個最低限度的站點,以便我們的生產工作人員在我們分揀的時候抓取。

我們已經試過:

幾乎每一個建議,在此SO questionas well as this SO question,這SO question。可能還有幾個我們已經忘記了。

  • 我們從網絡服務器中刪除測試現場,因爲這兩個網站的Default.aspx文件(不知道這是一個問題,使用完全相同的名稱,但由於在生產現場我們的工廠採用的是核爆,有不再需要測試站點,直到我們能夠獲得生產站點)。
  • 我們已經刪除的\ bin & \ OBJ目錄&上重建了我們的開發盒以及確信,在Build標籤的輸出路徑設置爲:BIN \
  • 應用程序運行在調試就好了/發佈在我的Dev Box和我的同事的盒子上。
  • 我們已經多次刪除並重新創建IIS服務器上的網站。
  • 我們創建了一個新網站&(相同的問題)。
  • 我們已經從我們的開發箱中的[Project]> Add> New Item> Global Application Class中刪除並重新創建了Global.asax文件。
  • 我們已經重新編譯了幾十次,關閉&在重新編譯之後重新啓動IDE之前&(我看不出有什麼區別,但建議不止一次)。
  • 我們已經嘗試從不同的IDE /開發盒進行部署。
  • 在Web服務器上,我們已經改變了應用程序池回&來回.NET 2.0 & .NET之間4.0(它在哪裏,當我們開始)。
  • 我們嘗試了重命名CodeBehind to CodeFile.(沒有工作,同樣的錯誤)。
  • 在Web服務器上,我們已經取得了一定的網站在目錄瀏覽啓用(這似乎得到某種方式切換,不知道爲什麼,但我們有時會404錯誤,它告訴我們它的切換)。
  • 在網絡服務器上,我們已驗證IIS正在使用通過身份驗證,並且應用程序正在使用全局管理員進行訪問,並具有所需的所有權限。
  • 在網絡服務器上,我們所有的其他網站仍然運行良好。
  • 我確定我忘記了一些我們嘗試過的東西。

環境:

的WebServer:Server 2012的W/IIS 8.5

開發框:Windows 7的專業版64位,W/VS二千零十七分之二千零十(在這種情況下不使用,但我們有它)。

應用:ASP.NET 3.5,使用JavaScript,JQuery的,AJAX在前端,用C#[的WebMethod] S於後端交談MariaDB的(MySQL的)。

*更新:

我的同事剛剛完成了刮按直到-WE-FIX-IT網站,並擊中完全相同的解析器問題。所以現在他正在創建一個WinForms應用程序。

這使我相信有比我們瞭解一個更加全球性的問題,但同樣的IIS服務器上所有我們的其他網站仍然運行得很好,因此它不能是服務器寬,否則將無法正常工作。

實際的錯誤,我們看到:

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 

堆棧跟蹤:

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: 
+0

我發現有時刪除bin目錄並部署全新的副本。我不知道這是否是你嘗試過或沒有。 –

+0

是的,我們已經嘗試過多次。 – delliottg

+0

你能告訴我們堆棧跟蹤嗎? –

回答

0

我終於能理清什麼是錯的。我們創建了一箇舊虛擬機,該虛擬機擁有該軟件的工作副本,但沒有其他網站。我們能夠將我們的生產車間指向虛擬機,以便他們的工作暢通無阻。然後問題出現了,讓其他網站啓動並運行在虛擬機上有多難?那麼,因爲它不是太困難,但有幾個挑戰,特別是啓用32位應用程序,設置默認頁面,並禁用表單身份驗證。一旦我將這些設置與實時服務器上的設置相匹配,我就可以使新站點在虛擬機上成功顯示。因此,我使用幾乎準確的設置將原始網站的問題反向工作,瞧,該網站開始工作。

縱觀上週的崩潰,我知道我嘗試了所有這些與默認頁面的異常(我們的短切到各個網站都有特定的頁面名稱,所以這是沒有必要的)。我想我只是在上週五之前才從正確的組合中嘗試過。

希望這可以幫助其他人添加到另一堆事情來處理解析器錯誤時嘗試。

相關問題