Как запретить Visual Studio "публиковать" файлы документации XML в веб-проектах?

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


У меня есть проект библиотеки (myLibrary) и проект веб-приложения ASP.NET, ссылающийся на эту библиотеку (оба находятся в одном решении). "Сгенерировать файл документации XML" проверяется для проекта библиотеки, потому что я хочу иметь эти прекрасные функции IntelliSense при разработке.

Когда я публикую веб-приложение (контекстное меню в проекте/публикации...), он копирует только файлы, необходимые для запуска приложения (без исходного кода и т.д.), в некоторые публикации каталог. Это хорошо. К сожалению, он также копирует файл документации XML в библиотеке. Поскольку я рассматриваю нашу библиотечную документацию как коммерческую тайну, я бы не хотел, чтобы она попала на сервер клиентов. Таким образом, мы должны помнить, чтобы вручную удалить этот файл из каталога публикации, прежде чем развертывать его.

Есть ли способ предотвратить копирование Visual Studio при публикации проекта ASP.NET, но при сохранении преимуществ XML-документации IntelliSense при разработке?

Ответ 1

Предполагая, что вы используете различные конфигурации для разработки и выпуска (и что бы то ни было), снятие флажка "файл документации XML" /отключение генерации для конкретной конфигурации предотвратило бы его развертывание, когда это не было необходимо. Другим вариантом было бы действие post-build для удаления файлов /s.

Первый из этих двух вариантов выглядит более элегантным.

Ответ 2

Есть ли способ предотвратить копирование этого файла в Visual Studio, когда публикация проекта ASP.NET,

Поверните XML-документы выкл в режиме деблокирования

но все еще сохраняют преимущества XML документация IntelliSense при разработке?

Поверните документы XML в/ выключить в режиме отладки. Intellisense будет работать в любом случае.

Ответ 3

Существует другое решение. Просто добавьте следующее в свой файл csproj где-то в начале:

<AllowedReferenceRelatedFileExtensions>.pdb</AllowedReferenceRelatedFileExtensions>

Что это. Файлы XML больше не будут опубликованы. Конечно, вы можете сделать это условным для конкретной конфигурации.

Ответ 4

Я делаю это в Express, но это, похоже, сработало для меня...

  • Пошел в свойства (для проекта)
  • Нажмите вкладку "Опубликовать"
  • Нажмите кнопку "Файлы приложений"
  • Проверено Показать все файлы
  • Установить xml файл для исключения

Как я уже говорил, с помощью Express 2010, но это сработало (он не копировал файл в место публикации).

Ответ 5

Вы можете сделать это, добавив проект веб-развертывания аддона на визуальную студию, который можно скачать здесь: http://www.microsoft.com/download/en/details.aspx?id=19995 и исключить все файлы/папки, которые вам нужны, следуйте найденным шагам здесь