Как проще всего указать параметры публикации сайта в облако при работе в visual studio

Обновлено: 05.07.2024

После того, как приложение написано и протестировано локально, его можно опубликовать, чтобы оно стало доступно широким массам.

Для начала нужно выбрать среду размещения. Мы можем выбрать одну из следующих возможностей:

Облачная платформа Windows Azure

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

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

Статические ресурсы

Сборки приложения

В Visual Studio 2012 (в том числе в Express-версии) копирование библиотек в папку bin происходит автоматически). Поэтому все динамические библиотеки фреймворка вы уже сможете увидеть в папке bin после компиляции.

А в Visual Studio 2010 необходимо воспользоваться специальной опцией Add Deployable Dependencies. . Для этого нажмем в структуре проекта на название проекта правой кнопкой мыши и в появившемся меню выберем Add Deployable Dependencies. .



Файлы Global.asax и Web.config

Файлы, содержащие настройки приложения. При развертывании важно учитывать, что некоторые настройки могут меняться в зависимости от сервера. Так, при публикации, возможно, придется менять строку подключения к БД.

Представления

Представления, которые содержатся в каталоге Views, включается в пакет приложения как есть, в отличие от основной сборки приложения. Затем уже в процессе обращения к приложению в ходе JIT-компиляции представления компилируются и отдаются пользователю в ответ на запрос.

В итоге если у нас такая структура проекта в Visual Studio:


То при публикации (например, в файловой системе) у нас получается примерно такая структура:

Чтобы сделать приложение ClickOnce доступным для пользователей, необходимо опубликовать его в общей папке, на FTP-сервере или на съемном носителе. To make a ClickOnce application available to users, you must publish it to a file share or path, FTP server, or removable media. Приложение можно опубликовать с помощью мастера публикации. Дополнительные свойства, связанные с публикацией, доступны на странице Публикация в конструкторе проектов. You can publish the application by using the Publish Wizard; additional properties related to publishing are available on the Publish page of the Project Designer. Дополнительные сведения см. в разделе Публикация приложений ClickOnce. For more information, see Publishing ClickOnce applications.

Перед запуском Мастера публикации необходимо правильно настроить свойства публикации. Before you run the Publish Wizard, you should set the publishing properties appropriately. Например, назначить ключ для подписи приложения ClickOnce можно на странице Подпись в конструкторе проектов. For example, if you want to designate a key to sign your ClickOnce application, you can do so on the Signing page of the Project Designer. Дополнительные сведения см. в разделе безопасности ClickOnce-приложений. For more information, see Secure ClickOnce applications.

Если вы устанавливаете больше одной версии приложения с использованием технологии ClickOnce, то более ранние версии приложения перемещаются в папку Archive, созданную в указанном вами расположении публикации. When you install more than one version of an application by using ClickOnce, the installation moves earlier versions of the application into a folder named Archive, in the publish location that you specify. Архивация более ранних версий предотвращает появление папок с ранними версиями в каталоге установки. Archiving earlier versions in this manner keeps the installation directory clear of folders from the earlier version.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от действующих параметров или выпуска среды. The dialog boxes and menu commands you see might differ from those described in Help, depending on your active settings or edition. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров . To change your settings, click Import and Export Settings on the Tools menu. Дополнительные сведения см. в разделе Сброс параметров. For more information, see Reset settings.

Публикация в общую папку To publish to a file share or path

Выберите проект приложения в обозревателе решений. In Solution Explorer, select the application project.

На построения меню, щелкните публикации имя_проекта. On the Build menu, click Publish Projectname.

Откроется Мастер публикации. The Publish Wizard appears.

На странице Место публикации приложения введите допустимый адрес FTP-сервера или допустимый путь к файлу, используя один из указанных форматов, а затем нажмите кнопку Далее. In the Where do you want to publish the application? page, enter a valid FTP server address or a valid file path using one of the formats shown, and then click Next.

На странице Способ установки приложения пользователями выберите расположение, в которое пользователи будут переходить для установки приложения: In the How will users install the application? page, select the location where users will go to install the application:

Если пользователи будут устанавливать приложение напрямую из общей папки, выберите параметр Из UNC-пути или из общей папки и нажмите кнопку Далее. If users will install the application directly from the file share, click From a UNC path or file share, and then click Next. (Этот вариант предназначен для расположений публикации вида c:deploymyapp или \servermyapp.) (This is for publishing locations of the form c:deploymyapp or \servermyapp.)

Если пользователи будут устанавливать приложение со съемного носителя, выберите параметр C компакт-диска или DVD-диска и нажмите кнопку Далее. If users will install from removable media, click From a CD-ROM or DVD-ROM, and then click Next.

На странице Будет ли приложение доступно вне сети выберите соответствующий параметр: On the Will the application be available offline? page, click the appropriate option:

Если вы хотите, чтобы приложение запускалось, даже если пользователь не подключен к сети, выберите параметр Да, это приложение доступно из сети и вне сети. If you want to enable the application to be run when the user is disconnected from the network, click Yes, this application will be available online or offline. Для приложения будет создан ярлык в меню Пуск. A shortcut on the Start menu will be created for the application.

Если вы хотите, чтобы приложение работало напрямую из расположения публикации, выберите параметр Нет, это приложение доступно только из сети. If you want to run the application directly from the publish location, click No, this application is only available online. Ярлык в меню Пуск создаваться не будет. A shortcut on the Start menu will not be created.

Чтобы продолжить, нажмите кнопку Далее . Click Next to continue.

Статус публикации отображается в области уведомлений. Publishing status is displayed in the status notification area.

Публикация на компакт-диск или DVD-диск To publish to a CD-ROM or DVD-ROM

В обозревателе решений щелкните проект приложения правой кнопкой мыши и выберите пункт Свойства. In Solution Explorer, right-click the application project and click Properties.

Открывается конструктор проектов. The Project Designer appears.

Перейдите на вкладку Публикация, чтобы открыть страницу Публикация в конструкторе проектов, и нажмите кнопку Мастер публикации. Click the Publish tab to open the Publish page in the Project Designer, and click the Publish Wizard button.

Откроется Мастер публикации. The Publish Wizard appears.

На странице Способ установки приложения пользователями выберите параметр С компакт-диска или DVD-диска и нажмите кнопку Далее. On the How will users install the application? page, click From a CD-ROM or DVD-ROM, and then click Next.

Если вы хотите, чтобы установка началась автоматически, как только компакт-диск будет вставлен в привод, откройте страницу Публикация в конструкторе проектов и нажмите кнопку Параметры, а затем в мастере Параметры публикации выберите параметр В случае установки с компакт-диска автоматически запускать Setup, когда вставлен диск. If you want the installation to run automatically when the CD-ROM is inserted into the drive, open the Publish page in the Project Designer and click the Options button, and then, in the Publish Options wizard, select For CD installations, automatically start Setup when CD is inserted.

Если приложение распространяется на компакт-дисках, вы можете предоставлять для него обновления на веб-сайте. If you distribute your application on CD-ROM, you might want to provide updates from a Web site. Выберите способ обновления на странице Место, где приложение будет искать обновления: In the Where will the application check for updates? page, choose an update option:

Чтобы приложение выполняло проверку на наличие обновлений, установите флажок Приложение следит за обновлениями, расположенными в следующем месте и введите расположение, куда будут выкладываться обновления. If the application will check for updates, click The application will check for updates from the following location and enter the location where updates will be posted. Это может быть расположение файла, веб-сайт или FTP-сервер. This can be a file location, Web site, or FTP server.

Если проверка обновлений не требуется, установите флажок Приложение не следит за обновлениями. If the application will not check for updates, click The application will not check for updates.

Чтобы продолжить, нажмите кнопку Далее . Click Next to continue.

Статус публикации отображается в области уведомлений. Publishing status is displayed in the status notification area.

После завершения публикации необходимо воспользоваться устройством для записки компакт-дисков или DVD-дисков, чтобы скопировать файлы из расположения, указанного в шаге 3, на компакт-диск или DVD-диск. After publishing is complete, you will have to use a CD-Rewriter or DVD-Rewriter to copy the files from the location specified in step 3 to the CD-ROM or DVD-ROM media.

Публикация приложения Publish the app

Убедитесь, что в Visual Studio настроен режим сборки для версии выпуска. Make sure that Visual Studio is building the Release version of your application. При необходимости измените конфигурацию сборки на панели инструментов, указав конфигурацию Выпуск вместо конфигурации Отладка. If necessary, change the build configuration setting on the toolbar from Debug to Release.


Щелкните проект HelloWorld (не решение HelloWorld) правой кнопкой мыши и выберите Опубликовать. Right-click on the HelloWorld project (not the HelloWorld solution) and select Publish from the menu. (Также можно выбрать Публикация HelloWorld из раздела Сборка в главном меню.) (You can also select Publish HelloWorld from the main Build menu.)


На странице Выберите целевой объект публикации выберите Папка, а затем — Создать профиль. On the Pick a publish target page, select Folder, and then select Create Profile.


На странице Публикация выберите Опубликовать. On the Publish page, select Publish.


Проверка файлов Inspect the files

Откройте окно командной строки. Open a command prompt.


Как показано на рисунке, опубликованные выходные данные включают следующие файлы: As the image shows, the published output includes the following files:

Это версия зависимого от платформы развертывания приложения. This is the framework-dependent deployment version of the application. Чтобы выполнить эту библиотеку динамической компоновки, введите dotnet HelloWorld.dll в командной строке. To execute this dynamic link library, enter dotnet HelloWorld.dll at a command prompt.

Это версия исполняемого, зависящего от платформы файла приложения. This is the framework-dependent executable version of the application. Чтобы запустить его, введите HelloWorld.exe в командной строке. To run it, enter HelloWorld.exe at a command prompt.

HelloWorld.pdb (необязателен для развертывания) HelloWorld.pdb (optional for deployment)

image


Ни для кого уже не секрет, что 6го июля компания Microsoft расширила российские возможности для работы с Windows Azure и предоставила доступ к Preview-технологиям. Об одной из этих технологий я хочу рассказать в этом посте.
Сразу хочу сказать, что большая часть информации взята из официального мануала и адаптирована к восприятию на собственном примере. Оригинал написан на английском, так что русская версия не помешает.

Шаг 1. Получение доступа

Для того, чтобы пользоваться новыми возможностями Windows Azure, вам необходимо сначала оформить обычную подписку. Сейчас есть возможность получить бесплатную подписку на 90 дней, в которую входит какое-то количество вычислительных мощностей и функций.

После получения подписки необходимо добавить к ней новые возможности. Делается это на странице вашей учетной записи в разделе Предварительный просмотр компонентов. На данный момент нас интересует возможность использования веб-сайтов, поэтому смело жмем кнопку Try It Now в соответствующем разделе, после чего вас попросят выбрать подписку, в которую необходимо добавить данную фичу. Выбираем нашу подписку, жмем галочку и на этом дело сделано — вам на почту придет подтверждение, а в панели управления облаком появится новый раздел.

Шаг 2. Создание сайта


Нам откроется окно мастера, который предложит нам выбрать имя будущего сайта, а также параметры базы данных — использовать существующую или создать новую (SQL Server или MySQL):

На втором и третьем шаге мы должны будем указать параметры нашей будущей базы данных, дефолтную кодировку, логин и пароль и географическую зону, где будет размещена наша виртуальная машина. Я выбрал Western Europe, доступны еще варианты North Europe и US.

Обратите внимание на колонку Status. Если все прошло успешно, то по истечении какого-то времени (у меня было пара минут) веб сайт будет иметь состояние Running, а база данных состояние Online. Это значит, что теперь можно смело публиковать свое приложение в облако.

Шаг 3. Публикация сайта


В правой части, там где написано Quick Glance, есть пункт Download publish profile. После нажатия на него нам предложат сохранить файл с расширением .PublishSettings, что мы и сделаем. Возвращаемся в Visual Studio и жмем правой кнопкой на проекте веб-приложения, пункт Publish:


В появившемся окне жмем кнопку Import и выбираем свежескачанный файл. Переходим далее. На следующем шаге менять настройки не надо, однако стоит нажать кнопку Validate Connection, чтобы убедиться, что все корректно подключается:

На следующем шаге мастера выбираем конфигурацию, которую хотим загрузить на сервер. Обычно это Release, хотя некоторые предпочитают использовать Debug. Если вы принадлежите к таким людям, не забудьте поменять настройку. Строку подключения к БД пока не будем трогать, так как в нашем приложении еще не используется БД.


Переходим на следующий и последний шаг мастера:


Если нажать на кнопку Start Preview, то можно увидеть список всех файлов, которые пойдут на публикацию в этот момент. Например, на скриншоте ниже видно, что изменен был только один файл и только он один будет отправлен на сервер:

Нажимаем кнопку Publish, после чего Visual Studio формирует необходимый пакет и передает его нашему серверу в Azure. Когда процесс завершится, автоматически должен будет открыться веб сайт с вашим приложением.

Шаг 4. Добавление БД


Будем считать, что вы добавили в ваше приложение функционал работы с БД на основе EF. Надо как-то теперь его пустить в ход. Помните, при публикации сайта мы пропустили секцию, отвечающую за работу с БД? Самое время к ней вернуться и рассмотреть поподробнее:

В разделе Databases вы можете увидеть все ваши строки подключения, которые объявлены в файле Web.config. У меня тут две строки. Первая является строкой подключения для EntityFramework. И здесь есть интересная опция под названием Apply Code First Migrations. Кто следит за обновлением EF знает, что в новой версии EF добавлена функция миграций, позволяющая в коде определять разницу между двумя версиями БД и применять необходимые изменения к уже существующей БД без ее пересоздания. Так вот, при публикации в Windows Azure у вас есть возможность воспользоваться миграциями и создать БД по образу и подобию сразу же в момент публикации вашего приложения. Для этого вам необходимо всего лишь разрешить миграции в своем приложении и отметить галку (у меня это не включено, поэтому галка неактивна).

В поле строки подключения вы можете выбрать необходимую строку, которая появится в опубликованном приложении. Windows Azure уже сам сформировал необходимую строку в профиле публикации, поэтому вам достаточно лишь выбрать ее в списке доступных строк подключения и пользоваться. Однако вы вправе каким угодно способом модифицировать ее или же выбрать любую другую строку, если вы решили использовать БД вне Azure.

Заключение

Вот пожалуй и все, что стоит сказать. Надеюсь статья окажется полезной и вы опубликуете свой сайт в облаке Windows Azure так же легко, как это сделал я.

Развертывание ASP.NET MVC Web Site на Microsoft Azure

113

Прокачай свою команду! B2B IT Education
Live Online Java

Введение

Microsoft Azure является облачно-вычислительной платформой и инфраструктурой, предоставленной корпорацией Microsoft . Эта платформа выполняет такие функции, как построение , развертывания и управления приложениями и услугами, и они могут быть доступны по всему миру. Azure доступен как Платформа, как сервис ( PaaS ) и Инфраструктура, как сервис ( IaaS ).

Прокачай свою команду! B2B IT Education
Live Online Java


В этой статье мы будем использовать приложение, созданное с помощью Angular.js, MVC, WEB API для выполнения CRUD-операций. Мы будем публиковать приложения на Azure в качестве веб-сайта. Загрузите исходный код и откройте это приложение в Visual Studio 2013.

Создание сервера базы данных с помощью SQL Azure

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

Шаг 1: Выберите SQL DATABASES , и Вы увидите страницы базы данных, как показано здесь:

Выбор sql databases

Создание SQL database server

Введите необходимые данные. После ввода данных выберите галочку в нижнем углу, чтобы создать базу данных сервера:

Тема связана со специальностями:

Создание базы данных

Окно деталей базы данных

Это выведет на экран Сервер базы данных Azure SQL экземпляр в объектном проводнике на локальном экземпляре SQL Server.

Настройка базы данных

Введите необходимые параметр ы. SERVICE TIERS позволит выбрать уровень базы данных, таких как BASIC | STANDARD | PREMIUM. Выберите уровень BASIC. Выберите SEERVER как сервер базы данных, его мы создали ранее. Создаваемая база данных будет такая, как показано на изображении:

Созданная база данных

Кликните по кнопке MANAGE внизу страницы, она создаст правило Брандмауэра для того, чтобы установить доступ базы данных:

Установка доступа к базе данных

Далее откроется следующая страница, где информация об Администраторе Базы данных обязательна к заполнению:

Информация об администраторе БД

Клик на Log On выведет на экран следующую страницу:


Кликните по “ Design ”, чтобы составить таблицы, Views и Stored Procedures .

Создание таблицы

Кликаем по “New Table ” и создаем с писок сотрудников, как показано:

Создание списка сотрудников

Введите простые записи в эту таблицу, используя ссылку New Query.

Внесение изменений в Web.config файл MVC-приложения

Откройте приложения MVC в Visual Studio 2013 и внесите следующие изменения в строку подключения.

Видео курсы по схожей тематике:

ASP.NET MVC 5 Углубленный

(В качестве альтернативы Вы можете запустить Entity Framework в проект, в папку Models для создания строки подключения)

Создание Веб-Сайта С Помощью Windows Azure Portal

Детали создания веб-сайта

Чтобы получить детали о веб-сайте, кликните по его имени, ниже будет выведена инструментальная панель на экран, она поможет в управлении и мониторинге веб-сайта.

Чтобы опубликовать наш веб-сайт, созданный с помощью VS tools в Visual Studio, мы должны загрузить профиль публикации . Он может быть загружен и скачан по ссылке, как продемонстрировано на изображении.

Публикация веб-сайта в Visual Studio

Откройте SPA Application в Visual Studio 2013. Кликните правой кнопкой по названию проекта, чтобы вывести на экран контекстное меню Publish Option.

Эта опция выведет на экран следующее окно:

  • Microsoft Azure веб-сайтов - поддержка прямого входа на Windows Azure на основе подписки.
  • Import - позволяет импортировать веб-сайт и публиковать профиль, который загружается с портала Azure.
  • Custom - позволяет создать новый профиль, публиковать для развертывания веб-сайта.

Нажмите на кнопку " Import " и будет отображено следующее окно для импорта профиля публикации:

Импорт профиля публикации

После нажатия " OK", будет отображено следующее окно с деталями веб-развертывания:

Детали веб-развертывания

Кликните “ Next ” . Так как мы уже развернули базу данных по Azure SQL, и последовательность подключений к базе данных уже обновлена в web.config файле, следующее окно покажет строку подключения:

Бесплатные вебинары по схожей тематике:

Обзор современной разработки под .NET Часть 2

Применение поведенческих паттернов проектирования в .NET

Строка подключения

Выберите “Далее”, чтобы отобразить список файлов, которые будут опубликованы:

Файлы для публикации

Кликните по кнопке “Publish”, веб-сайт будет опубликован со всеми требуемыми ссылками.

Как только веб-сайт будет успешно опубликован, он может быть просмотрен.

Опубликованный веб-сайт

Примечание: в этой статье не использовался CSS и, следовательно, неправильно расположение таблиц. Добавьте свои CSS, чтобы украсить страницу.

Могу ли я исключить папку или файлы при публикации веб-сайта в Visual Studio 2005? У меня есть различные ресурсы, которые я хочу держать под рукой в ​​обозревателе решений, например альтернативные файлы конфигурации для различных сред, но я действительно не хочу публиковать их на сервере. Есть ли способ их исключить? При использовании других типов проектов, таких как сборка .dll, я могу установить для свойства Build Action файла значение «None», а для его свойства Copy to Output Directory - значение «Do not copy». Я не могу найти аналогичные настройки для файлов на веб-сайте.

Если IDE не предлагает эту функцию, есть ли у кого-нибудь хороший способ работы с такими файлами?

Если вы можете идентифицировать файлы по расширению, вы можете настроить это с помощью тега buildproviders в файл web.config. Добавьте расширение и сопоставьте его с ForceCopyBuildProvider. Например, чтобы настроить файлы .xml для копирования с действием публикации, вы должны сделать следующее:

Исключите файлы и папки, добавив элементы ExcludeFilesFromDeployment и ExcludeFoldersFromDeployment в файл вашего проекта (.csproj, .vbproj и т. Д.). Вам нужно будет отредактировать файл в текстовом редакторе или в Visual Studio, выгрузив проект и отредактировав его.

Добавьте теги в любом месте соответствующего PropertyGroup (отладка, выпуск и т. Д.), Как показано ниже:

Подстановочные знаки поддерживаются.

Чтобы объяснить приведенный выше пример:

  • Первый ExcludeFilesFromDeployment исключает File1.aspx (в корне проекта) и Folder2\File2.aspx ( Folder2 находится в корне проекта)
  • Второй ExcludeFilesFromDeployment исключает все файлы в любой папке с именем .svn и любой из ее подпапок.
  • ExcludeFoldersFromDeployment исключает папки с именами Folder1 (в корне проекта) и Folder2\Folder2a ( Folder2 находится в корне проекта)

Удивительно, но ответа для Visual Studio 2012 здесь нет:

Ответ с зеленой галочкой не является ответом.

Самый высокий «повышенный» ответ ссылается на статью 2010 года, в которой говорится, что вам нужно отредактировать файл проекта csproj, который теперь неверен. Я добавил XML-элемент ExcludeFoldersFromDeployment в свой файл csproj Visual Studio 2012, и он ничего не сделал, элемент считался недопустимым, потому что ExcludeFoldersFromDeployment был перемещен в файл .pubxml, как он выглядит.

Для веб-приложений и веб-сайтов вы редактируете файл .pubxml!

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

В файле [mypublishwebsitename] .pubxml, который находится в

/ Properties / PublishProfiles для проектов веб-приложений и

/ App_Data / PublishProfiles для веб-сайтов, просто добавьте:

Как дочерние по отношению к основному элементу <PropertyGroup> в вашем файле .pubxml. Нет необходимости добавлять новый элемент, если только вы не вводите определенный тип сборки, например выпуск или отладку.

НО ПОДОЖДИТЕ .

Если вы удаляете файлы с целевого / целевого сервера со следующими настройками в конфигурации публикации:

enter image description here

Затем процесс веб-публикации удалит на вашем исходном / целевом сервере все исключенное, например, элемент, который вы обозначили в своих <ExcludeFoldersFromDeployment> и <ExcludeFilesFromDeployment> !

Правила пропуска MsDeploy спешат на помощь:

Во-первых, Web Publish использует для публикации что-то другое, кроме MSBuild (называемое Task IO или что-то в этом роде), но в нем есть ошибка и он не распознает правила пропуска, поэтому вы должны добавить в свой .pubxml:

Я бы оставил <WebPublishMethod> в отдельном <PropertyGroup> , вы могли бы подумать, что у вас может быть только один элемент <PropertyGroup> в вашем .pubxml, но мои правила пропуска не вызывались, пока я не переместил <WebPublishMethod> в собственный элемент <PropertyGroup> . Да, безумие, но тот факт, что вам нужно сделать все это для Web Publish, чтобы исключить, а также не удалить папку / файл на вашем сервере, безумие.

Теперь мои фактические объявления SkipRules, ExcludeFolders и ExcludeFiles в моем .pubxml:

А теперь правила пропуска ( <Target> является потомком <Project> в вашем .pubxml): ( Вы можете оставить поле <SkipAction> пустым для Пропустить для всех действий, но я не проверял это и не уверен.

И, пожалуйста, не забудьте экранировать . в правиле пропуска filePath с помощью обратной косой черты.

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

Шаг 1. Преобразуйте свой «веб-сайт» в «веб-приложение». Чтобы преобразовать его, я просто создал новое «веб-приложение», удалил все файлы, которые оно создавало автоматически, и скопировал и вставил в него свой веб-сайт. Это сработало нормально. Обратите внимание, что для файлов отчетов необходимо, чтобы действие сборки было установлено на «Содержимое», а не на «Нет».

Шаг 2: Теперь вы можете установить для любых файлов свойство «Build Action».

Надеюсь это поможет.

В Visual Studio 2013 я обнаружил, что ответ Кита, добавив элемент ExcludeFoldersFromDeployment в файл проекта, не сработал (я не читал ответ Брайана Огдена, в котором говорится об этом). Однако я обнаружил, что могу исключить текстовый файл при публикации в Visual Studio 2013, просто установив следующие свойства в самом текстовом файле:

1) Действие сборки: нет

2) Копировать в выходной каталог: не копировать

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

Чтобы просмотреть эти свойства в графическом интерфейсе Visual Studio, в обозревателе решений щелкните правой кнопкой мыши файл, который нужно исключить, и выберите «Свойства» в контекстном меню.

Я думаю, у вас есть только два варианта:

  • Воспользуйтесь функцией «Исключить из проекта». Это не идеально, потому что элемент проекта будет исключен из любых операций интегрированного управления версиями IDE. Вам нужно будет нажать кнопку «Показать все файлы» в окне решения, если вам нужно увидеть файлы в обозревателе решений, но при этом также отображаются файлы и папки, которые вас не интересуют.
  • Используйте сценарий события после сборки, чтобы удалить все элементы проекта, которые не хотите публиковать (при условии, что вы публикуете в локальной папке, а затем загружаете на сервер).

Я проходил через это раньше и не мог придумать ничего действительно элегантного.

Для Visual Studio 2017, Публикация WebApp , сначала создайте профиль публикации стандартной файловой системы. Перейдите в папку App_Data \ PublishProfiles \ и отредактируйте файл [имя профиля] .pubxml.

Под тегом <PropertyGroup> Вы можете указать этот тег только один раз, иначе он будет принимать только последние значения.

Убедитесь, что для тега DeleteExistingFiles установлено значение False .

Функция, которую вы ищете, существует, если ваш проект создан как «Веб-приложение». Веб-проекты сайта - это просто набор файлов, которые рассматриваются как 1: 1 с тем, что развертывается на веб-сервере.

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

Это просто дополнение к другим полезным ответам здесь и кое-что, что я нашел полезным .

Использование wpp.targets для исключенных файлов и папок

Когда у вас есть несколько развертываний для разных сред, полезно иметь только один общий файл, в котором вы можете установить все исключенные файлы и папки. Вы можете сделать это, создав файл *.wpp.targets в корне проекта, как в примере ниже.

Дополнительную информацию см. в этом руководстве Microsoft:

В Visual Studio 2017 (в моем случае 15.9.3) манипуляции с .csproj-файлом действительно работают отлично! Нет необходимости изменять pubxml.

Затем вы можете создать довольно приятные настройки в .csproj-файле, используя условие PropertyGroup, например:

Исключает папку «Образцы» из всех развертываний с конфигурациями, начинающимися с «Pub _» .

Вы можете исключить из публикации, например, в csproj, где CopyToPublishDirectory - никогда.

Предыдущие предложения не сработали для меня, я предполагаю, потому что Visual Studio теперь использует другой механизм публикации внизу, я полагаю, с помощью инструмента cli «dotnet publish» или его эквивалента внизу.

Читайте также: