Не удалось загрузить сборку "App_Web_kh7-x3ka". Перед доступом к странице убедитесь, что она скомпилирована
Я не могу понять, что я делаю неправильно здесь. Я публикую свой сайт на своем сервере, и когда я пытаюсь запустить его, я получаю следующее исключение:
Не удалось загрузить сборку "App_Web_kh7-x3ka". Перед доступом к странице убедитесь, что она скомпилирована.
Кто-нибудь еще сталкивался с этим?
Ответы
Ответ 1
Это также может произойти, если вы взяли предварительно скомпилированную страницу aspx и отредактировали ее, как если бы она не была скомпилирована, например, скопировав ее с Live-сервера и перезаписав вашу dev/working версию.
В первой строке вашей страницы aspx в теге <%@Page />
вы, вероятно, увидите такой атрибут, как:
inherits="yourPageClass, App_Web_kh7-x3ka"
.
Удалите часть "App_Web_XXXX
" и добавьте атрибут CodeFile, указывающий на ваш код за файлом:
CodeFile="yourPageFile.aspx.cs"
Тег <%@Page />
должен выглядеть так же, как при создании новой страницы с нуля.
Когда ваши страницы Asp.Net предварительно скомпилированы для выпуска на производственный сервер, ссылки на код позади заменяются ссылками на скомпилированные библиотеки DLL, которые имеют имя App_Web_XXXX
.
Ответ 2
Быстрый google для "Убедитесь, что он скомпилирован перед доступом к странице".
привел меня к следующему
http://www.velocityreviews.com/forums/t301533-could-not-load-assembly-make-sure-that-it-is-compiled-before-accessing-the-page.html
И проблема может быть такой, как описано, что пул приложений/веб-сайт не установлен в правильную версию .NET.
Следующий вопрос имеет другое решение в качестве последнего ответа
http://forums.asp.net/t/1131537.aspx
От взгляда вверх он кажется, что ваш веб-сервер настроен неправильно или что вы ссылаетесь на неэксентирующую/старую dll
Ответ 3
Недавно мы недавно опубликовали этот вопрос для одного из наших предварительно скомпилированных сайтов. Оказывается, наше серверное антивирусное программное обеспечение тихо помещало карантин в один из скомпилированных DLL файлов. (видимо, мой код напоминал угонщика обновлений... обаятельный)
Незначительная причина для этой проблемы, но, надеюсь, это поможет кому-то еще в будущем.
Ответ 4
Если вы используете исходное дерево BitBucket (например, с Azure), Soruce Tree по умолчанию не загружает файлы .DLL.
Вам нужно перейти → Дерево источников > Инструменты > Параметры > Git > Глобальный список игнорирования [Изменить файл]
Удалите строку *.Dll и сохраните файл.
Восстановите свой проект (вам не нужно), код фиксации, нажмите код!
Ваш сайт должен начать работать...