NuGet包调试源码的方法

如果按照nuget官网给出的网址:https://docs.nuget.org/create/creating-and-publishing-a-symbol-package

那么你会发觉下载符号包的地址会报404错误。

园子里有一篇成功下载的:http://www.cnblogs.com/cabbage/p/enabling-source-code-debugging-for-your-nuget-packages-with-symbolsource-or-gitlink.html

我测试了,注意编译环境的文件路径不能包含中文,之前我用的中文路径发现死活下载不了src文件,后面修改成全英文的路径一次搞定!这里是我找到的线索:http://inedo.com/support/questions/3409,这里大概说了是路径的问题,所以我用pdbstr.exe工具查看了自己的pdb文件,确实出现了中文乱码的路径,所以切记:编译的路径不能含有中文

在ProGet搭建自己内网的包管理系统,如果想要调试源码的包,那么只上传.symbols.nupkg即可,然后项目中下载这个带src文件的包,因为包中本身自带pdb,所以到时调试时指定一下路径即可解决。

如果采用PorGet提供的symbols server的方案,会在d可以参考这个:

http://inedo.com/support/kb/1036/using-progets-symbol-server?utm_source=proget&utm_medium=link&utm_campaign=proget4

http://inedo.com/support/tutorials/proget/debug-into-internal-nuget-packages-with-proget

也同样记住:编译的路径不能含有中文

至于权限的问题,免费版本不能精确到每个feed,那么你可以装多几个ProGet,一来源码和release版本的库分别到不同的站点,也可控制哪些人可以看哪些人不能看。

如何调试这些引入第三方库的源代码,使用的是单步运行,比如在调用的方法上打上断点,然后程序到达了断点上按【F11】即可进入源代码调试。

在实际调试时,对于下载pdb和src的请求,你可以使用fiddler来观察,能快速定位到哪里的错误!

posted @ 2016-09-21 10:33  EasonJim  阅读(3203)  评论(0编辑  收藏  举报