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

问题描述:

有一个用C#编写的项目,它利用了一些外部库。 这些是已签名的库(使用版本,密钥),并且通常在GAC中注册。如何将源文件添加到外部库?

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

有图书馆具有参考对方(所以他们期望具体的版本,用钥匙)

我怎么能准备的程序库,可调试与查看源代码的能力?

是将DLL文件的来源添加到项目中的唯一选择(重新编译),并经我的应用程序引用?

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

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

如果它是一个开源项目,只需下载源或检查出来通过源头控制和参考项目本身在您的解决方案,而不是组装。

对于闭源组件,你可以要求供应商,如果源代码可用,或者要求他们与.pdb文件调试编译。

首先,设置一个symbol server。这使您的调试器可以下载库的pdb文件。即使对于GAC中的程序集,这也可以工作。

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

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