如何将源文件添加到外部库?

时间:2011-02-06 20:23:15

标签: c# .net reference

有一个用C#编写的项目,它使用了一些外部库。 这些是签名库(带有版本,密钥),通常在GAC中注册。

我的应用使用这些库。在处理和调试应用程序时,我希望有时可以访问库的源代码,看看我的代码如何更深入以及内部发生了什么。

有些库相互引用(所以他们期望具体版本,带密钥)

如何通过查看源代码的能力来准备可调试的库?

是唯一可以将DLL的源添加到项目中的选项(再次编译)并让我的应用程序引用它吗?

3 个答案:

答案 0 :(得分:4)

首先,设置symbol server。这使您的调试器可以下载库的pdb文件。这甚至适用于GAC中的程序集。

接下来,source index the pdb files。这将信息嵌入到pdb文件中,使调试器能够从源服务器检索源(例如,Mercurial,SVN,TFS)。

因此,您最终需要一个源服务器和一个符号服务器,并为您的构建过程添加几个步骤。

答案 1 :(得分:0)

部署时无法调试库,可以使用异常处理和日志记录在执行时跟踪事件。 或者您可以使用新的Intellitrace(http://msdn.microsoft.com/en-us/library/dd264915.aspx)来跟踪执行情况。

答案 2 :(得分:0)

如果可用,请将引用程序集的调试符号(.pdb文件)添加到程序集的同一文件夹中。

如果它是一个开源项目,只需下载源代码或通过源代码管理检查它,并在解决方案而不是程序集中引用项目本身。

对于已关闭的源程序集,您可以向供应商询问源代码是否可用,或者要求他们使用.pdb文件进行调试编译。