Зачем Visual Studio 2010 публиковать веб-сайт с исходным кодом?

Я использую Visual Studio 2010 с диалоговым окном публикации нового веб-сайта. У меня есть веб-сайт с веб-приложением. После публикации теоретически весь код должен быть скомпилирован в единую сборку. Однако как в Debug, так и в Release, после публикации каталог всегда содержит исходный код страницы и пользовательских элементов управления (даже с нетрансформированными файлами web.config Web.Debug.config и Web.Release.Config). Это очень сбивает с толку.

Но с package/publish web конфигурацией проекта и Generate Deploy package пунктом контекстного меню каталог Package \ PackageTmp чистый.

  • Почему Visual Studio не использует этот пакет для публикации веб-сайта?
  • Где опция прекомпиляции?
  • Кажется, что преобразование XML Web.config не работает, почему Visual Studio вводит эту функцию, чтобы меня сбить с толку?

person Roc Ho    schedule 26.12.2011    source источник
comment
Это веб-приложение или веб-сайт? Вы видите только .as?x файлы или также .cs файлы?   -  person SLaks    schedule 26.12.2011
comment
@SLaks Я уверен, что это веб-приложение, а не веб-сайт. Я уже решил, потому что я установил Include all project files в Package/Publish web конфигурации   -  person Roc Ho    schedule 26.12.2011
comment
привет @RocHo, у меня такая же проблема, но дело в том, что я публикую ВЕБ-САЙТ, а не веб-приложение в VS2013 Professional Edition. Когда я публикую, он также публикует ИСХОДНЫЙ КОД, а не двоичные файлы / dll. Итак, не могли бы вы предложить мне какое-либо решение для публикации файлов только в файлах .aspx / .dll?   -  person SHEKHAR SHETE    schedule 27.02.2015


Ответы (3)


Правильный ответ - посмотреть в настройках Package / Publish Web (в свойствах проекта веб-приложения) и найти «Items to deploy».

введите описание изображения здесь

Для веб-приложения вы бы хотели, чтобы «Элементы для развертывания» содержали «Только файлы, необходимые для запуска этого приложения», которые НЕ будут копировать файлы исходного кода, поскольку они были скомпилированы в DLL в папке bin.

Обратите внимание, что этот параметр зависит от вашего текущего типа сборки (Debug / Release / etc), поэтому планируйте соответственно ...

Чао!

person enorl76    schedule 05.02.2012
comment
привет @ enorl76, пожалуйста, предложите мне какое-нибудь решение для вышеуказанного комментария? помощь оценена! Я пробовал ваше решение, но, к сожалению, не смог найти эту опцию в профессиональной версии VS 2013. :( - person SHEKHAR SHETE; 27.02.2015
comment
@SHEKHARSHETE У меня VS 2013, я только что посмотрел, и он такой же. Возможно, вы пытаетесь использовать другой тип проекта? Вы должны использовать тип проекта веб-приложения. - person enorl76; 10.05.2016

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

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

Для проектов веб-приложений вы обычно создаете проект в Visual Studio или с помощью пакетного компилятора ASP.NET на компьютере, который не является производственным сервером IIS. Все файлы классов программной части и отдельные файлы классов в проекте компилируются в единую сборку, которая затем помещается в папку Bin проекта веб-приложения. (Файлы .aspx и .ascx компилируются динамически аналогично тому, как это делается для проектов веб-сайтов.)

Для проектов веб-сайтов вам не нужно вручную компилировать проект. Проекты веб-сайтов обычно динамически компилируются ASP.NET (как на компьютере разработчика, так и на рабочем сервере IIS). Вы можете выбрать между режимом пакетной компиляции, который обычно создает одну сборку для каждой папки, и фиксированным режимом компиляции, который обычно создает одну сборку для каждой страницы или пользовательского элемента управления.

person JonnyBoats    schedule 26.12.2011

В Visual Studio 2013/2015 выберите вариант «Предварительная компиляция во время публикации»  введите описание изображения здесь

person OrganicCoder    schedule 16.06.2016