Нужно ли развертывать файл XML в библиотеке классов?

Я разработал множество проектов библиотек классов в VS 2012 для использования в приложениях Windows Forms и Web Forms.

Вопрос простой. Нужно ли развертывать сам DLL-файл вместе с созданным XML-файлом?

Например, проект библиотеки классов называется DataWare. После сборки я получил 5 файлов в папке Release (эта ссылка на проект Entity Framework):

  • DataWare.dll
  • DataWare.pdb
  • DataWare.dll.config
  • EntityFramework.dll
  • EntityFramework.xml

Я знаю, что файл ".pdb" содержит отладочную информацию, поэтому развертывать его не нужно. Файл ".config" не учитывается. Вместо этого есть App.config или Web.config.

Что касается этого, я думаю, что мне нужно развернуть только DataWare.dll и EntityFramework.dll.

Однако основное сомнение заключается в том, нужно ли мне также развертывать EntityFramework.xml.

С уважением Хайме


person jstuardo    schedule 24.08.2015    source источник


Ответы (2)


Файл XML содержит комментарии для общедоступных типов и членов в сборке.

Он нужен только в том случае, если вы хотите, чтобы Visual Studio отображала документацию в IntelliSense.

Если вы развертываете приложение для потребителя (в отличие от многоразовой библиотеки для разработчиков), оно вам не нужно.

person SLaks    schedule 24.08.2015
comment
Спасибо.... и, наконец.... Exe-файл имеет также файл .vshost.... который не нужно развертывать, не так ли? - person jstuardo; 25.08.2015
comment
Верный; который используется только отладчиком. - person SLaks; 25.08.2015

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

person Joshua Dannemann    schedule 24.08.2015
comment
Это не файл конфигурации, и библиотеки DLL вообще не могут иметь файлы конфигурации. - person SLaks; 25.08.2015
comment
Тогда любопытно, зачем вообще нужен файл [dllname].dll.config? Я думал, что в некоторых случаях (например, в Newtonsoft) библиотека классов должна знать расположение другой DLL, чтобы она работала. - person Joshua Dannemann; 25.08.2015
comment
.dll.config файлов вообще не должно существовать, если только вы не добавите App.config в проект DLL (чего делать не следует). - person SLaks; 25.08.2015