![]() |
|
Модераторы: gambit |
![]()
|
|
| evgenybe |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 22.5.2007 Где: Израиль Репутация: нет Всего: 1 |
У меня на локальном компе приложение было на ASP.NET 2003
В Solution было 4 проекта (один из них с формами и 3 - билиотеки классов) Я перевел приложение в ASP.NET 2005 и отладил его на локальном компе. Теперь начал развертывать сайт на хостинге и вижу, что dll-и библиотек классов есть (3 штуки). А где dll основного проекта с формами? Его нет. Это так и положено? Что надо вместо него развертывать на хостинге? Попытка запустить сайт на хостинге выдает какую-то ошибку, которую я даже прочитать не могу. Выдает совет установить: <configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration> или <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> </system.web> </configuration> Но ни то, ни другое не помогает. В чем тут дело? |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Есть много статей и учебников по основам ASP.NET. Нужно их почитать.
Хорошие книги по ASP.NET 2.0 написал Эспозито. Если поискать, то можно скачать их в электронном виде. Вот, кстати, два в одном - on-line отрывок из книги Эспозито -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| evgenybe |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 22.5.2007 Где: Израиль Репутация: нет Всего: 1 |
За совет, конечно, спасибо. Беда в том, что у меня есть несколько книг по ASP.Net 2.0. В том числе и Дино Эспозито и Мэтью Мак-Дональд. И я их естесственно прочитал. А сейчас еще и целенаправленно прочитал на данную тему. К сожалению, ответов на свой вопрос я не нашел. На работе мне посоветовали сделать Publishing Web Site в определенную директорию. Что я исделал. В результате в папке Bin оказалось около 200 dll вместо 4-х как в 2003. Кроме того там оказались и файлы с расширением .compiled. Dll я добросовестно закачал на сайт в папку Bin. Но и это не помогло. По-прежнему я не могу даже суть ошибки узнать. Очень прошу, если кто-то знает ответ как говорится "здесь и сейчас" - посоветуйте что делать. Если же немедленного совета нет - не надо отсылать меня к чтению литературы. Я и так это параллельно делаю. Спасибо. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
ну что ж, ладно.
значит так. Допустим есть солюшен из одного сайта и трех проектов dll. Сайт ccылается на все эти проекты через reference (обычным способом, как будто это и не сайт, а простой .Net проект) При компиляции эти три dll должны оказаться в папке bin сайта. В этой же папке должны быть все другие dll, которые сайта как-то использует. Имеются в виду именно внешние dll, не имеющие никакого отношения к коду самого сайта. Теперь код сайта. Все codebehind страниц, контролов, папка AppCode, все, что имеет .Net-код и принадлежит сайту - все это компилируется и находится в папке Temporaly ASP.NET files У меня на машине это C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ эти dll с хитрыми именами, в хитрых папках, создаются динамически, самим ASP.NET и тут руками ничего делать не нужно (чревато exception-ами при "поднятии" сайта) Таким образом, чтобы мигрировать сайт на "чистый сервер" нужно: - сделать виртуальную директорию на сервере, куда IIS будет маршрутиризировать запрос. - в эту директорию скопировать сайт (конфиги, страницы, служебные ASP.NET папки - bin, AppCode и другие) - короче говоря всю рабочую директорию сайта целиком, как есть. - проверить, чтобы в bin были все посторонние dll, все остальные удалить. Никаких .compiled или App_Web_evmuqkdb.dll в bin быть не должно. Это все должно быть в Temporary ASP.NET Files. Должны быть только dll_ки типа evgenybe.Core.dll, evgenybe.Graphics.dll ну и т.д. Те, что содержат посторонний, но необходимый сайту функционал. - проверить в IIS версию ASP.NET на этот сайт (вкладка ASP.NET в пропертях сайта). -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| davandr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 25.10.2005 Где: Украина, Харьков Репутация: нет Всего: нет |
Мне вот тоже интересно, как же все-таки правильно выкладывать сайт.
Нужно ли выкладывать codebehind страниц и классы App_Code. (ведь в таком случае вся бизнес логика, которая не спряталась в сторонние dll будет грубо говоря незащищенной) И для чего тогда нужно Publishing Web Site? evgenybe, чтобы ты мог просмотреть свои ошибки прямо на сайте необходимо выставить <compilation debug="true"> Это сообщение отредактировал(а) davandr - 19.11.2007, 12:44 |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
я говорил о простой миграции сайта, чтобы он хотя бы поднялся Это если на сервере нужен код папка App_Code и страницы со своими code-behind. Иногда это нужно. Например, поднял я сайт, смотрю на него из дома, а правлю его - через терминал, в блокноте код страниц и App_Code меняю. По-другому иногда и не получается... А в принципе, конечно код выкладывать нехорошо... Для этого и предусмотрена утилита aspnet_compiler.exe Эспозито подробно описывает виды компиляции и развертывания сайта. Лучше почитать его и потренироваться на чем-нибудь... В идеале, как я понимаю, никакого кода на сервер выкладывать не нужно (в релизе), а просто откомпилировать сайт и dll-ки App_Code, App_Web в bin и закинуть вот пример. Команда
выдает ![]() никакого кода. Но если, повторяю, он есть (папка App_Code на сервере нужна), тогда вариант деплоймента такой, как я описывал выше. Главное, чотбы был или код, или готовые сборки без кода. Иначе динамически скомпилированные из кода сборки будут конфликтовать с такими же, размещеными в bin -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| evgenybe |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 22.5.2007 Где: Израиль Репутация: нет Всего: 1 |
Значица так:
Первая страница сайта (она без кода - чистый HTML) поднимается нормально. При клике на линк и попытке перейти на следущую страницу (в которой есть код) выдается сообщение о котором я писал. Суть ошибки и место ее появления неизвестно. Как я уже говорил все DLL я закачал на сайт в папку bin. Вопрос: блин, может надо не в бин? Может в бин только те, которые изначально в бин? Далее... <compilation debug="true"> - я естес-с-с-но это сделал. Однако так и не вижу читаемого сообщения об ошибке. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
повторяю. Два взаимоисключающих варианта:
1. все скопировать "как есть" и папка bin должна содержать только то, что есть у разработчика на машине в bin + dll-ки от посторонних проектов (или посторонних производителей) 2. сделать предкомпиляцию сайта утилитой aspnet_compiler.exe и выложить только то, что окажется в папке предкомпиляции
да. это вариант №2 смотри мой предыдущий пост и читай Эспозито. -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| evgenybe |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 22.5.2007 Где: Израиль Репутация: нет Всего: 1 |
Так я изначально и сделал по первому варианту.
Не работает. Мало того. Выдает RunTime Error без указания файла, номера строки и сути проблемы. Но об этом я уже писал раньше. Так что мы уже по второму кругу идем. |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
1. тогда перечисли все папки и все файлы в папках ДО компиляции и после компиляции
2. скриншот пришли. 3. подробно, какие операции делаешь? Может быть мы под "развертыванием" понимаем разные вещи? 4. на сервере точно стоит второй asp? 5. IIS со вторым asp работает (на других приложениях)? -------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Zakonnic |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 25.4.2006 Репутация: 3 Всего: 6 |
Не понятно, решил ли автор проблему, так что напишу.
Кстати, некоторые хостинги могут ограничивать свой IIS и ваши права на его настройку или использование ресурсов, подключение к БД и пр. Тут уже надо читать, что конкретно они запрещают. --------------------
...и никогда не пишите в комментариях правду |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |