Visual Studio 2008 - 添加引用
-
03-07-2019 - |
题
当添加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
文件:
为什么这是一件好事(有时候)? 假设你是一个团队 环境。有人检查代码 for foo.dll和你的构建系统 构建一个新的DLL,输出它 服务器上的文件共享。你的刷新 文件指向该服务器副本 DLL。下次你建立时,VS会 自动神奇地抓住最新的和 该DLL的最大副本。
.xml 就像David Mohundro所说:
xml文件用于XML注释 和intellisense。 Visual Studio会 解析并显示XML 您致电时添加的评论 这些DLL中的方法。
.pdb 就像David Mohundro所说:
pdb用于调试和 符号。如果你得到例外 抛出它,你就能得到 stacktraces等。你可以控制 选择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注释。
我不知道刷新文件。
foo.pdb是foo.dll的调试器符号文件,您可能需要它,否则您将无法在该代码中设置断点。
VS2008将几个文件添加到bin目录[...]是否需要在源代码管理中添加它们?
bin目录中的任何内容都不需要添加到源代码管理中。最初检入项目时首先要忽略bin和obj目录。所以是的,您可以删除这些文件,但Visual Studio将重新创建它们。