簡體   English   中英

將應用程序部署到IIS時解析錯誤

[英]Parse Error when application is deployed to IIS

我有一個用.NET 4.0編寫的ASP.NET應用程序。 當我通過Visual Studio運行應用程序時,一切正常,看起來不錯。 當我將其部署到本地計算機上的IIS7時也是一樣。 但是,當我將其部署到運行.NET 4.0和IIS7的Windows Server 2008 R2上的另一個框時 ,出現以下解析錯誤:

 Cannot create an object of type 'System.Web.UI.WebControls.TextBoxMode' from its 
 string representation 'Number' for the 'TextMode' property.

它抱怨asp:TextBox上的TextMode屬性不包含Number選項,即使它在我的本地IIS上運行正常。 碰到了這篇文章 ,人們建議這兩台機器具有不同的.NET版本。 對我來說不是這種情況。 兩台機器都具有.NET 4.0和IIS7。

除了此錯誤外,其他頁面的呈現方式也不同。 例如,服務器計算機上的IIS不尊重任何asp:TextBox控件上的Width屬性。 即使本地IIS可以很好地將寬度用作樣式,我也必須使用。 我正在使用IE10 w / o兼容模式。

我最初以為問題可能出在缺少jsstyle文件上,但是IE在Network Profiler窗口中報告了所有內容文件的成功狀態。

在這一點上我真的迷路了。 這兩個框中的代碼,IIS設置和.NET版本完全相同,但是頁面的呈現方式不同。 我唯一能想到的是Visual Studio安裝了其他Web組件,該組件正在改變IIS呈現aspx頁面的方式。 那可能嗎? 如果有人在某個時候遇到過此問題,如果您能給我一些可能導致問題的原因的提示,我們將不勝感激。

因此,我終於弄清楚了問題所在。 實際上,解析錯誤確實與.NET有關。 我的機器上安裝了.NET 4.5,但服務器上沒有。 我仍然感到困惑的是,我的應用程序的目標版本是4.5,因此,如果Number選項僅存在於4.5中,為什么Visual Studio甚至顯示它? 不知道這是一個錯誤還是我忽略了某些事情。

至於本地IIS與服務器IIS之間的差異,原來我必須在服務器上安裝ASP.NET瀏覽器定義修補程序(KB2600088) 這樣就解決了所有樣式問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM