Visual Studio 2008 - добавить ссылку

При добавлении библиотеки DLL в качестве ссылки на проект ASP.Net VS2008 добавляет несколько файлов в каталог bin. Если DLL называется foo.dll, VS2008 добавляет foo.dll.refresh, foo.pdb и foo.xml. Я знаю, что такое foo.dll :-), почему VS2008 добавляет остальные три файла? Что делают эти три файла? Могу я их удалить? Нужно ли их добавлять в систему контроля версий?


person James Sun    schedule 02.10.2008    source источник


Ответы (5)


Контроль версий:

Бен Страуб сказал в комментарии к этому сообщению: файлы .dll.refresh должны быть добавлены в систему управления версиями, если это необходимо, в то время как файлы .xml, .pdb и, конечно же, .dll не должны добавляться.

Джон Руди объяснил, когда добавлять файл .refresh:

Почему (иногда) это хорошо? Допустим, вы находитесь в командной среде. Кто-то проверяет код на наличие foo.dll, и ваша система сборки создает новую DLL, выводя ее в общую папку на сервере. Ваш файл обновления указывает на эту серверную копию библиотеки DLL. В следующий раз при сборке VS автоматически магическим образом захватит самую последнюю и лучшую копию этой DLL.

.xml, как сказал Дэвид Мохундро:

Файл xml предназначен для комментариев XML и intellisense. Visual Studio проанализирует это и отобразит XML-комментарии, которые были добавлены при вызове методов в этих библиотеках DLL.

.pdb, как сказал Дэвид Мохундро:

PDB предназначен для отладки и символов. Если вы получите от него исключение, вы сможете получить трассировку стека и т. Д. Вы сами решаете, будет ли создаваться PDB.

.refresh из блога. сообщение о файлах .refresh:

Он сообщает VS, где искать обновленные версии dll с тем же базовым именем. Это текстовые файлы, вы можете открыть их и посмотреть, какой путь они используют.

Их цель - избавить вас от необходимости копировать новые версии самостоятельно. В VS2003 файл проекта будет содержать исходное расположение ссылки, но поскольку VS2005 не использует файлы проекта для проектов ASP.NET, это замена этой конкретной функции.

person xsl    schedule 02.10.2008
comment
Единственное, что я бы добавил, это то, что файлы .dll.refresh * ДОЛЖНЫ находиться в системе управления версиями, в отличие от всего остального в каталоге bin. - person Ben Straub; 02.10.2008
comment
Что касается помещения .dll.refresh в систему управления версиями - что произойдет, если DLL находится не на каком-то файловом сервере, а хранится локально, и каждый разработчик имеет свою копию? Думаю, поэтому Джон Руди иногда говорит :) - person OregonGhost; 02.10.2008
comment
@OregonGhost: Спасибо, что указали на это, я изменил сообщение. - person xsl; 02.10.2008

Файл обновления (так как еще никто не нашел!) Описывает, откуда взялась DLL. Это для автоматически обновляемых ссылок; всякий раз, когда вы выполняете полную сборку, VS будет искать по этому пути и копировать эту версию DLL.

Почему (иногда) это хорошо? Допустим, вы находитесь в командной среде. Кто-то проверяет код на наличие foo.dll, и ваша система сборки создает новую DLL, выводя ее в общую папку на сервере. Ваш файл обновления указывает на эту серверную копию библиотеки DLL. В следующий раз при сборке VS автоматически магическим образом захватит самую последнюю и лучшую копию этой DLL.

person John Rudy    schedule 02.10.2008

PDB предназначен для отладки и символов. Если вы получите от него исключение, вы сможете получить трассировку стека и т. Д. Вы сами решаете, будет ли создаваться PDB. Файл xml предназначен для комментариев XML и intellisense. Visual Studio проанализирует это и отобразит XML-комментарии, которые были добавлены при вызове методов в этих библиотеках DLL.

Я не знаю о файле обновления.

person David Mohundro    schedule 02.10.2008

foo.pdb - это файл символов отладчика для foo.dll, он вам понадобится, иначе вы не сможете установить точку останова в этом коде.

person FlySwat    schedule 02.10.2008

VS2008 добавляет несколько файлов в каталог bin [...] Нужно ли их добавлять в систему управления версиями?

Ничего из каталога bin не нужно добавлять в систему управления версиями. Первое, что нужно сделать при первоначальной регистрации проекта, - это игнорировать каталоги bin и obj. Так что да, вы можете удалить эти файлы, но Visual Studio создаст их заново.

person OregonGhost    schedule 02.10.2008