При добавлении библиотеки DLL в качестве ссылки на проект ASP.Net VS2008 добавляет несколько файлов в каталог bin. Если DLL называется foo.dll, VS2008 добавляет foo.dll.refresh, foo.pdb и foo.xml. Я знаю, что такое foo.dll :-), почему VS2008 добавляет другие три файла? Что делают эти три файла? Могу ли я удалить их? Нужно ли добавлять их в исходный контроль?Visual Studio 2008 - Добавить ссылку
ответ
Источник управления:
Бен Строб сказал в комментарии к этому сообщению: The .dll.refresh
файлы должны быть добавлены в систему управления версиями, если требуется, в то время как .xml
, .pdb
и конечно .dll
файлы не должны быть добавлено.
Джон Rudy объяснил, когда добавить .refresh
файл:
Почему это хорошо (иногда)? Предположим, вы в команде Окружающая среда. Кто-то проверяет код на foo.dll, а ваша система сборки создает новую DLL, выгружая ее в общий ресурс на сервере. Ваше обновление файл указывает на эту копию сервера DLL. В следующий раз, когда вы будете строить, VS будет авто-магическим захватом последних и самой большой копией этой DLL.
.xml как Дэвид Mohundro сказал:
XML-файл существует для XML комментарии и IntelliSense.Visual Studio будет проанализировать это и отобразить комментарии XML , которые были добавлены при вызове методов в этих DLL.
.pdb как Дэвид Mohundro сказал:
PDB есть для отладки и символов. Если вы получите исключение , то вы сможете получить stacktraces и т. Д. Вы контролируете , если выберете PDB .
.refreshfrom a blog post about .refresh files:
Это говорит VS, где искать обновленные версии DLL с той же базой именем. Это текстовые файлы, вы можете открыть их и просмотреть путь, который он использует.
Их цель - не дать вам копировать новые версии самостоятельно. В VS2003, файл проект будет содержать местоположение источника в ссылки, но так как VS2005 не файлов проект для использования ASP.NET проектов, это замена , что особенно функциональности.
foo.pdb - это файл символов отладчика для foo.dll, вы хотите его или вы не сможете установить точку останова в этом коде.
Pdb предназначен для отладки и символов. Если вы получите исключение, которое вы выбрали, вы сможете получить stacktraces и т. Д. Вы контролируете выбор или нет PDB. Файл xml есть для комментариев XML и intellisense. Visual Studio проанализирует это и отобразит комментарии XML, которые были добавлены при вызове методов в этих DLL.
Я не знаю об обновлении файла.
VS2008 добавляет несколько файлов в каталог bin [...] Нужно ли их добавлять в исходный элемент управления?
Ничего в каталоге bin не нужно добавлять к исходному контролю. Одно из первых при первоначальной проверке проекта - игнорировать каталоги bin и obj. Так что да, вы можете удалить эти файлы, но Visual Studio заново их создаст.
Обновление файла (так как никто не пострадал от этого!) Описывает, откуда появилась DLL. Это для ссылок на автообновление; всякий раз, когда вы выполняете полную сборку, VS будет выглядеть в этом пути и скопировать эту версию DLL.
Почему это хорошо (иногда)? Предположим, вы в командной среде. Кто-то проверяет код для foo.dll, и ваша система сборки создает новую DLL, выводя ее в общий ресурс файла на сервере. Ваш файл обновления указывает на копию этого DLL-сервера. В следующий раз, когда вы создадите, VS автоматически запустит последнюю и самую большую копию этой DLL.
Очень круто, не знал об этом. Благодаря! – 2008-10-02 13:22:07
Единственное, что я добавил бы, это то, что файлы * .dll.refresh * SHOULD * идут в исходном управлении, в отличие от всего остального в каталоге bin. – 2008-10-02 13:27:31