Asp.net 将应用程序部署到IIS时出现分析错误
我有一个用.NET4.0编写的ASP.NET应用程序。当我通过VisualStudio运行应用程序时,一切都正常,看起来也不错。当我把它部署到本地机器上的IIS7时也是一样。但是,当我将其部署到另一个运行在Windows Server 2008 R2上的带有.NET 4.0和IIS7的盒子时,我会得到以下解析错误:Asp.net 将应用程序部署到IIS时出现分析错误,asp.net,.net,iis-7,.net-4.0,Asp.net,.net,Iis 7,.net 4.0,我有一个用.NET4.0编写的ASP.NET应用程序。当我通过VisualStudio运行应用程序时,一切都正常,看起来也不错。当我把它部署到本地机器上的IIS7时也是一样。但是,当我将其部署到另一个运行在Windows Server 2008 R2上的带有.NET 4.0和IIS7的盒子时,我会得到以下解析错误: Cannot create an object of type 'System.Web.UI.WebControls.TextBoxMode' from its string
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会在网络档案器
窗口中报告所有内容文件的成功状态
在这一点上我真的迷路了。这两个框中的代码、IIS设置和.NET版本完全相同,但页面呈现方式不同。我能想到的唯一一件事是,Visual Studio安装了其他一些Web组件,它正在改变IIS呈现aspx页面的方式。可能吗?如果有人在某个时候遇到过这个问题,如果您能给我一些建议,说明是什么导致了这个问题,我将不胜感激。所以我终于找到了问题所在。解析错误实际上与.NET有关。我的机器上安装了.NET 4.5,但服务器上没有。我仍然感到困惑的是,我的应用程序的目标版本是4.5,所以如果
Number
选项只存在于4.5中,为什么Visual Studio甚至会显示它?我不确定这是个错误还是我忽略了什么
至于本地IIS和服务器IIS之间的差异,结果证明我必须在服务器上安装。这解决了所有样式问题。应用程序池是否在服务器上运行.Net 4.0版?