[英]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兼容模式。
我最初以為問題可能出在缺少js
或style
文件上,但是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.