添加DLL作为ASP.Net项目的引用时,VS2008会将多个文件添加到bin目录中.如果DLL被称为foo.dll,VS2008会添加foo.dll.refresh,foo.pdb和foo.xml.我知道foo.dll是什么:-),为什么VS2008会添加其他三个文件?这三个文件做了什么?我可以删除它们吗?是否需要在源代码管理中添加它们?
来源控制:
Ben Straub在对这篇文章的评论中说:.dll.refresh
如果需要,文件应该添加到源代码控制中.xml
,.pdb
而且当然.dll
不应该添加文件.
John Rudy解释了何时添加.refresh
文件:
为什么这是一件好事(有时候)?假设您处于团队环境中.有人检查foo.dll的代码,你的构建系统构建一个新的DLL,将其输出到服务器上的文件共享中.您的刷新文件指向DLL的服务器副本.下次构建时,VS将自动神奇地抓取该DLL的最新和最好的副本.
像David Mohundro这样的.xml说:
xml文件用于XML注释和智能感知.Visual Studio将解析它并显示在这些DLL中调用方法时添加的XML注释.
像David Mohundro这样的.pdb说:
pdb用于调试和符号.如果你从中抛出异常,你将能够获得堆栈跟踪等.你可以控制选择是否构建了PDB.
.refresh 来自博客文章关于.refresh文件:
它告诉VS在哪里查找具有相同基本名称的dll的更新版本.它们是文本文件,您可以打开它们并查看它使用的路径.
它们的目的是防止您自己复制新版本.在VS2003中,项目文件将包含引用的源位置,但由于VS2005不使用ASP.NET项目的项目文件,因此这是该特定功能的替代.
刷新文件(因为还没有人点击它!)描述了DLL的来源.这是用于自动刷新引用; 无论何时执行完整版本,VS都会查看该路径并复制该版本的DLL.
为什么这是一件好事(有时候)?假设您处于团队环境中.有人检查foo.dll的代码,你的构建系统构建一个新的DLL,将其输出到服务器上的文件共享中.您的刷新文件指向DLL的服务器副本.下次构建时,VS将自动神奇地抓取该DLL的最新和最好的副本.
pdb用于调试和符号.如果你从中抛出异常,你将能够获得堆栈跟踪等.你可以控制选择是否构建了PDB.xml文件用于XML注释和智能感知.Visual Studio将解析它并显示在这些DLL中调用方法时添加的XML注释.
我不知道刷新文件.