Подтвердить что ты не робот

Как использовать функцию "Опубликовать" в Visual Studio 2008 без стирания содержимого целевой папки?

Когда я использую Build- > Publish Web Site в Visual Studio 2008, большую часть времени он компилирует сайт, а затем просто спрашивает меня: "Все файлы в целевой папке будут удалены. Продолжить?" (Или что-то в этом роде). Однако иногда при публикации проекта в Visual Studio я получаю диалоговое окно, которое позволит мне полностью заменить содержимое папки или просто заменить измененные файлы на более новую версию.

Я предпочитаю публиковать без полного уничтожения папки, потому что развернутое приложение создает пользовательские файлы и файлы кеша, поскольку они использовались, что я не хочу предпринимать дополнительные шаги для сохранения. Однако я не уверен, почему Visual Studio не всегда дает мне эту возможность. Я могу изменить эту настройку? Это связано с версией .NET, которую я использую?

Любое понимание оценено!

Изменить - продолжение в 2009-01-20

Я до сих пор не понял этого, но вот еще информация.

Здесь функция публикации похожа на один проект ASP.NET на рабочем столе Win XP:

QegqZ.gif

И вот как это выглядит для другого проекта на моем ноутбуке Vista:

gbcZh.gif

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

На обоих компьютерах работает Visual Studio 2008 Professional (версия 9.0.30729.1 SP, в соответствии с Help- > About). Точная версия. И я сомневаюсь, что разница в ОС вызывает изменение этой функциональности. Это где-то где-то здесь, верно? Кто-нибудь знает?

4b9b3361

Ответ 1

Джон прав, единственное отличие - один из ваших проектов - Проект веб-сайта, а другой это Проект веб-приложения. Вы не увидите вариант конвертировать в веб-приложение ", если вы не находитесь в проекте веб-приложения. Я знаю... это очень вводит в заблуждение. Причина этого связана с тем, как вы конвертируете в проект веб-приложения. Если вы планируете преобразовать его (что может быть настоящей болью в заднице, в зависимости от того, как оно настроено), вам нужно знать о нескольких отличиях:

В проекте веб-приложения все предварительно скомпилировано, все страницы codebehind будут скомпилированы в .dll ---- В проекте веб-сайта ничего в проекте предварительно скомпилировано, компилятор скомпилирует все, чтобы обеспечить его действителен, но ни одна из скомпилированных страниц не загружается. Когда пользователь сначала пытается получить доступ к сайту, каждая страница скомпилируется в свою собственную DLL. Это означает, что в проекте веб-сайта вы можете загрузить один файл кода.

Пространства имен. В пространстве имен проектов веб-приложения по умолчанию создаются проекты веб-сайта, которых нет. Поэтому вам придется потратить некоторое время, добавив их, если вы планируете их конвертировать.

Файлы проекта - вы заметите, что проект веб-сайта не имеет файла "cproj", который делает проект веб-приложения.

Я переработал несколько из этих проектов, я нахожу их довольно гладкими, если в папке "app_code" не так много кода. Вы можете попробовать и посмотреть, насколько это легко, если будет похоже, что это будет боль, я бы предложил FileZilla просто FTP его и сберегите себе головную боль.

Удача

Ответ 2

Этот диалог отличается для проектов веб-сайтов и проектов веб-приложений. В моих проектах MVC (проекты веб-приложений) я вижу дополнительные параметры. В моих обычных проектах веб-сайта я вижу первый диалог.

Ответ 3

Не уверен, что этот вариант вам подходит, но вы можете использовать функцию веб-сайта копирования из браузера решений. Нажмите на значок "Копировать веб-сайт" в верхней части проводника решений.

Ответ 4

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

При публикации веб-сайта Visual Studio предназначена для обеспечения того, чтобы целевая папка содержала файлы вашего веб-сайта и ничего больше.

Ответ 5

Очевидно, эта функция входит в VS2010 - то, что Vishal Joshi анонсировал в TechEd EMEA в сессии "PDC307: Microsoft Visual Studio 10: фьючерсы на веб-разработку"

Ответ 6

Сайт обновлен с сайта на обновленном уровне.