Как запретить Visual Studio «публиковать» файлы XML-документации в веб-проектах? - PullRequest
10 голосов
/ 16 февраля 2012

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


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

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

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

Ответы [ 5 ]

10 голосов
/ 16 февраля 2012

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

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

4 голосов
/ 16 февраля 2012

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

Отключение документов XML в режиме выпуска

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

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

2 голосов
/ 23 февраля 2017

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

<AllowedReferenceRelatedFileExtensions>.pdb</AllowedReferenceRelatedFileExtensions>

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

2 голосов
/ 16 февраля 2012

Я делаю это в Express, но мне показалось, что это сработало ...

  1. Ушел в Свойства (для проекта)
  2. Нажал вкладку "Опубликовать"
  3. Нажмите кнопку «Файлы приложений»
  4. Установлен флажок Показать все файлы
  5. Установите для XML-файла значение «Исключить»

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

0 голосов
/ 17 февраля 2012

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

...