2014-09-30 3 views
1

У меня есть приложение ASP.NET, написанное в .NET 4.0. Когда я запускаю приложение через Visual Studio, все работает и выглядит хорошо. То же самое, когда я развертываю его в IIS7 на своей локальной машине. Тем не менее, когда я развернуть его на другую коробку работает на Windows Server 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. I came across this post, и люди предлагают, чтобы две машины имели разные версии .NET. Это не относится ко мне; обе машины имеют .NET 4.0 и IIS7.

Помимо этой ошибки, другие страницы также отображаются по-разному по стилю. Например, IIS на серверной машине не уважает свойство Width на любом из элементов управления asp:TextBox; Я должен применять ширину как стиль, хотя мой локальный IIS делает их просто прекрасными. Я использую режим совместимости IE10 без совместимости.

Первоначально предполагалось, что проблема связана с отсутствующими файлами js или style, но IE сообщает об успешном статусе всех файлов содержимого в окне Network Profiler.

Я действительно потерян в этой точке. Код, настройки IIS и версии .NET в этих двух блоках точно идентичны, но страницы отображаются по-разному. Единственное, о чем я могу думать, это то, что с Visual Studio был установлен какой-то другой веб-компонент, который меняет способ отображения страниц aspx IIS. Это возможно? Если кто-то столкнется с этой проблемой в какой-то момент, я был бы признателен, если бы вы могли дать мне несколько указаний относительно того, что может вызвать проблему.

+0

Является ли пул приложений запущенным .Net-версией 4.0 на сервере? – Fordio

+0

@Fordio Да, это так. – user2872534

ответ

0

Итак, я наконец выяснил, в чем проблема. Ошибка синтаксического анализа действительно имела какое-то отношение к .NET. У меня .NET 4.5 установлен на моем компьютере, но не на сервере. Я все еще запутался в том, что целевая версия для моего приложения равна 4,5, поэтому, если параметр Number существует только в версии 4.5, почему Visual Studio даже отображает его? Не уверен, что это ошибка или я что-то не замечаю.

Что касается несоответствий между локальным и серверным IIS, оказалось, что мне нужно установить ASP.NET Browser Definitions Hotfix (KB2600088) на сервер. Это определило все проблемы с дизайном.

Смежные вопросы