2014-09-30 125 views
1

我有用.NET 4.0编写的ASP.NET应用程序。当我通过Visual Studio运行应用程序时,一切正常,看起来不错。当我将它部署到本地计算机上的IIS7时也是如此。然而,当我把它部署到的Windows服务器上运行的2008 R2与.NET 4.0和另一个盒子 IIS7,我得到以下分析错误:将应用程序部署到IIS时解析错误

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

它抱怨TextMode财产上asp:TextBox不含Number选项,尽管它在我的本地IIS上工作得很好。我came across this post和人们建议两台机器有不同的.NET版本。对我来说情况并非如此;这两台机器都有.NET 4.0和IIS7。

除了这个错误,其他页面的样式也不同。例如,服务器上的IIS不遵循任何asp:TextBox控件上的Width属性;我必须将宽度作为样式应用,尽管我的本地IIS将​​它们渲染得很好。我正在使用IE10 w/o兼容模式。

我原本以为这个问题可能是由于缺少jsstyle文件,但IE在Network Profiler窗口中报告所有内容文件的成功状态。

我真的迷失在这一点上。代码,IIS设置和.NET版本在这两个框中完全相同,但页面渲染方式不同。我唯一能想到的是,其他Web组件随Visual Studio一起安装,它正在改变IIS呈现aspx页面的方式。那可能吗?如果有人在某个时候遇到过这个问题,我会很感激,如果你能给我一些关于可能导致问题的指示。

+0

应用程序池是否在服务器上运行.Net版本4.0? – Fordio 2014-09-30 20:53:54

+0

@Fordio是的。 – user2872534 2014-09-30 20:56:46

回答

0

所以我终于明白了问题所在。解析错误实际上与.NET有关。我的机器上安装了.NET 4.5,但没有安装在服务器上。我仍然困惑的是,我的应用程序的目标版本是4.5,所以如果Number选项仅在4.5中存在,为什么Visual Studio甚至会显示它?不知道这是一个错误还是我忽略了一些东西。

至于本地和服务器IIS之间的差异,原来我不得不在服务器上安装ASP.NET Browser Definitions Hotfix (KB2600088)。这解决了所有样式问题。

相关问题