Как преобразовать веб-сайт ASP.NET в веб-приложение ASP.NET

Из-за нескольких открытых проблем runc # 1965 # 1721 настройка terminal: true в config.json приводит к трудностям с конвейером. Seeting terminal: false решил проблему.

84
задан Paolo Forgia 9 August 2017 в 13:58
поделиться

2 ответа

Что ж, получается, что опция «Преобразовать в веб-приложение» НЕ существует для «сайтов». Опция «Преобразовать в веб-приложение» существует только для «веб-приложений» !!!!

[выделение мое]

Итак, вот сделка, чтобы сделать Для преобразования необходимо:

  • Добавить новое «Веб-приложение» в решение VS 2008 (Файл-> Добавить-> Новый Проект-> C # -> Веб-> ASP.NET Web Приложение).

  • После этого вы копируете все файлы со старого «сайта» на свой новый создал «веб-приложение», и переопределить любые файлы, созданные в нем default

  • Следующий шаг самый уродливый, нужно «вручную» добавить ссылки в вашем "сайте" на новый "веб приложение ". Я думал, что VS 2008 Игрушка PowerCommands сделает это для меня как это скопировать ссылки с других Типы проектов, но это не так. У тебя есть сделать это самостоятельно, вручную и Вы должны быть осторожны на этом этапе если у вас есть несколько версий такая же сборка (как AJAXToolkit в моем случай) или сборки, которые имеют оба GAC и локальные версии или около того.

  • Продолжайте повторять последний шаг и пытайтесь создать «веб-приложение». Вы будете получать ошибки, как " «....» - неизвестное пространство имен. Ты отсутствует ссылка на сборку? ". Делать уверен, что у вас нет ничего, кроме те, где «....» заменяется Идентификаторы сервера управления вы используете. В другими словами, продолжайте добавлять ссылки и строит проект пока только ошибки, которые существуют из-за отсутствует .DESIGNER.CS или .DESIGNER.VB файлы.

  • После этого перейдите к корневому узлу проекта «веб-приложение» в VS 2008 г., и правильно нажмите на нее, тогда вы найдете опция «Конвертировать в веб-приложение». На самом деле эта опция вносить небольшие изменения в "@Page" и "@Control" директивы страниц и элементы управления и создание необходимых Файлы .DESIGNER.CS или .DESIGNER.VB.

  • Попробуйте снова создать «веб-приложение». Если вы получили ошибки, посмотрите, что ссылки могут отсутствовать и / или идти нажмите «Преобразовать в веб-приложение» снова. Иногда, если есть какая-либо ошибка кроме тех, которые вызваны пропажей Файлы DESIGNER, не все страницы / элементы управления будут иметь те Файлы DESIGNER созданы для них. Устранение проблемы без DESIGNER и нажав «Преобразовать в веб-приложение» снова следует выполнить эту работу.

  • Как только вы закончите успешную сборку VS, вы должны быть готовы к работе. Начните тестировать ваше веб-приложение. При желании вы можете щелкнуть правой кнопкой мыши корневой узел проекта "веб-приложение" в Обозреватель решений VS 2008 и нажмите «Свойства» затем перейдите на вкладку «Веб» установить "веб-приложение" в виртуальная папка в IIS (вы можете создать новый виртуальный каталог оттуда в VS). Если вы хотите использовать IIS виртуальный каталог, который старый "сайт" используется, вам нужно удалить сначала из IIS.

  • Обновление: при тестировании своих страниц обращайте БОЛЬШЕ ВНИМАНИЯ на занятия в Папка "App_Code", особенно те без пространства имен. Те могут быть большими ловушка. У нас были проблемы с двумя метод расширения перегружает в том же статический класс, который не имеет пространства имен, один расширяет DateTime? (Nullable) и вызывает другую перегрузку, которая расширяет сам DateTime. Вызов другая перегрузка как метод расширения прошел сборник VS 2008 и дал нам ошибка компиляции ТОЛЬКО В РАБОТЕ (С IIS). Изменение вызова на другая перегрузка от вызова его как метод расширения для вызова его как нормальный статический метод (только изменение вызов в том же классе, звонки из другие классы остались расширением вызовы метода) действительно решили этот, но очевидно, это не так безопасно, как раньше быть в VS 2005. Особенно с классы без пространств имен.

  • Обновление 2: во время преобразования VS 2008 переименовывает ваш код App_Code в "Old_App_Code". Это новое имя звучит некрасиво, но не переименовывать его обратно. В модель "веб-приложения", весь код будет в одной сборке. Во время выполнения, веб-сервер не знает, что такое веб тип проекта вы используете. Оно делает взять весь код в папке «App_Code» и создать новую сборку для него. Эта Кстати, если у вас есть код в папке с именем "App_Code", вы получите RUNTIME ошибки компиляции того же типа существуют в двух сборках, один созданный VS, и тот, созданный Сервер разработки IIS / ASP.NET. к Избегайте этого. оставить "Old_App_Code" с тем же именем или переименуйте его в НИЧЕГО, КРОМЕ: App_Code. Не делайте поместите любой код в такой "App_Code" папка и предпочтительно не имеют папка с таким названием в вашей "паутине" приложение "на всех.

Я знаю это еще раньше, но забыл это сейчас, как я не использовал модель "веб-сайт" долго: (.

102
ответ дан Jason 24 November 2019 в 08:37
поделиться

Пошаговое руководство. Преобразование проекта веб-сайта в проект веб-приложения в Visual Studio в MSDN

Если приложение вашего сайта растет .. лучше разбить его на несколько проектов. Преобразование из проекта веб-сайта в проект веб-приложения мало поможет.

12
ответ дан Konstantin Tarkus 24 November 2019 в 08:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: