Как развернуть веб-приложение .NET без виртуального каталога - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть учетная запись хостинга, где я не могу войти на сервер, для развертывания проекта я должен использовать панель администратора и FTP.

У меня есть веб-приложение ASP.NET 2.0 для веб-форм, которое мне нужно развернуть в глубокую папку, но не думаю, что у меня есть доступ для создания виртуального каталога в этой папке.

Я могу правильно развернуть этот код / ​​приложение на своем собственном сервере, зайдя в него и создав виртуальный каталог. Тогда приложение работает нормально. Без виртуального каталога я получаю ту же ошибку в производственной среде, в которой пытаюсь выполнить развертывание.

Все это ошибки синтаксического анализатора, например

Файл '/Site.master' не существует.

и

Не удалось создать тип «myNamespace.webServiceName».

Нужно ли строить по-другому? Опубликовать это по-другому? Должен ли это быть веб-сайт вместо веб-приложений? Я нахожусь в нескольких папках на веб-сервере, который определенно имеет .NET и определенно работает с другими приложениями.

Ответы [ 4 ]

1 голос
/ 03 ноября 2011

В основном вы меняете хост. Точка.

Любой хост, предлагающий ASP.NET, должен также предлагать создание приложений, которые представляют собой особую форму виртуального каталога. Позвоните в их поддержку. Если они не помогают, бегите. Нарушение договора.

0 голосов
/ 05 ноября 2011

Я нашел способ создать виртуальный каталог на моем общем хосте (1 и 1). Это была глубоко скрытая функция в веб-браузере файлов, где я этого не ожидал.

В конечном итоге я не смог развернуть это без создания виртуального каталога, поэтому, к счастью, они действительно имели эту функцию.

0 голосов
/ 03 ноября 2011

Раньше мне приходилось сталкиваться с этим с некоторыми хостинг-провайдерами.По сути, они дают вам один виртуальный каталог, который содержит одну активную папку «bin» для ваших DLL.Проблема в том, что все ваши пути совершенно разные, когда вы создаете веб-приложение в корне проекта в Visual Studio.

Один из способов решения этой проблемы - восстановить точно такую ​​же структуру папок, начинаяиз корня виртуального каталога на производственном сервере в вашем проекте Visual Studio.Управлять проектом (и правильными пространствами имен, если вы пурист в этом отношении) немного сложнее, но тогда вы можете поместить скомпилированную dll в папку "/ bin" и опубликовать остальные файлы непосредственно вправильные папки.Таким образом, ваш проект будет знать полный путь к файлам, поскольку они будут существовать на производственном сервере, поэтому такие действия, как Server.MapPath(), приведут к правильным результатам.

Другой вариант - найти другой файл.хостинг-провайдер (предложенный TomTom), но это может оказаться невозможным в зависимости от вашей ситуации.

0 голосов
/ 03 ноября 2011

Обычно у вашего хостинг-провайдера есть способ преобразовать виртуальный каталог в приложение через своего рода панель администратора.Если нет, вы можете попробовать позвонить и попросить их сделать это за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...