#c# #asp.net #web-hosting #parse-error #web-publishing
#c# #asp.net #веб-хостинг #ошибка синтаксического анализа #веб-публикация
Вопрос:
Сайт работает нормально, когда я запускаю его локально, я опубликовал его и разместил на хостинге, нанятом моей компанией, через SMART FTP.Например, есть папка с названием моей компании. ‘MyCompany’. В нем есть вложенные папки, такие как данные приложения, код приложения, Bin, Httpdocs, Httpsdocs … и т.д. Я перенес свой опубликованный проект ‘utilityservices’ в Httpdocs. Затем я ввожу www.MyCompany.net/UtilityServices/Customer_Login.aspx я получил следующую ошибку.
Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load the assembly 'App_Web_ah9y-lsc'. Make sure that it is compiled before accessing the page.
Source Error:
Line 1: <%@ page language="C#" autoeventwireup="true" inherits="Customer_Login, App_Web_ah9y-lsc" %>
Line 2: <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
Line 3:
Source File: /UtilityServices/Customer_Login.aspx Line: 1
В Httpdocs есть папка bin и webconfig, в размещенных UtilityServices есть bin и webconfig. Является ли это причиной этой ошибки.
Я использую фреймворк VS2008 C # 3.5.
Комментарии:
1. Есть ли файл в папке / UtilityServices / bin вашего сайта с именем App_Web_ah9y-lsc.dll ?
2. да, в папке bin утилиты UtilityService
3. Похоже, что ответ, предложенный @Nathan, может быть правильным. Если вы развернули файлы во вложенную папку корня сайта, ее необходимо будет настроить как приложение. У вас может быть или не быть возможности сделать это в зависимости от конфигурации вашего хост-провайдера. Возможно, стоит попробовать переиздать сайт в корень (не в папке UtilityServices), поскольку ваш хостинг-провайдер, скорее всего, настроен как приложение по умолчанию.
Ответ №1:
Ну, это старый вопрос, и до сих пор многие ищут подходящий ответ на эту проблему. Вам необходимо изменить сайт на приложение в IIS. Просто откройте диспетчер IIS и выберите сайт, который был скомпилирован. Щелкните правой кнопкой мыши на сайте и выберите «Преобразовать в приложение». Перезапускать IIS не нужно, но вреда от этого не будет. Это решит проблему.
Комментарии:
1. Вы победитель! Спасибо!
Ответ №2:
У меня были похожие проблемы при передаче файлов на веб-сервер — я предполагаю, что происходит то, что файлы каким-то образом повреждаются при передаче, и вы получаете странные имена сборок.
Что сработало для меня, так это то, что если бы я мог выяснить, какие файлы нарушили сборку на сервере (если бы это сработало до того, как я загрузил пакет, тогда я получил ошибку компиляции этого типа), я бы внес незначительные изменения (нажмите пробел и пробел), чтобы принудительно сохранить их и повторно загрузить эти файлы, и, в свою очередь, это заставило бы сервер перекомпилировать их снова, и ошибка исчезла бы.
Надеюсь, это сработает для вас 🙂
Комментарии:
1. В основном это так. Внесите незначительные изменения в последние загруженные файлы, затем загрузите их снова.
2. Нажмите пробел, затем обратный пробел (только для того, чтобы снова появилась звездочка для сохранения файла). Попробуйте это с файлами, которые вы загрузили после того момента, когда вы узнали, что ваш сайт работает правильно.
3. Используете ли вы Visual Studio? Потому что, если вы вносите изменения в исходный файл в Visual Studio, рядом с именем на вкладке появляется звездочка, указывающая на изменение. В любом случае, просто введите один символ, а затем удалите его. Это должно вызвать перекомпиляцию на сервере 🙂
Ответ №3:
Если приложение, в котором вы /UtilityServices/
находитесь, Имеет собственную App_Code
папку и т. Д., Тогда Каталог должен быть настроен как приложение в IIS. Смотрите эту ссылку для получения инструкций о том, как это сделать.
Если вы не можете настроить веб-сервер, попробуйте поместить файлы в свои App_Code
папки, bin
, etc в соответствующие папки в корне сайта.