我想获取开源库的源代码(用于调试目的),我想知道是否:
a)这是客户端项目的配置问题,我可以重新配置项目以获取源而不仅仅是二进制文件。
b)这是我需要分叉和重新打包或找到源代码版本以获取源代码的库事务的配置。
c)由于某种原因,这在nuget系统中是不可能的。
答案 0 :(得分:2)
Nuget可用于获取开源库的源代码吗?
据我所知,这取决于作者是否上传了NuGet包发布符号。但并非每个软件包所有者都希望与其他软件包共享代码,因此 NuGet只提供二进制文件,而不是为源代码设计工作流程。
答案 1 :(得分:1)
如果NuGet包的作者发布符号&源包(到nuget.smbsrc.net
),这些可以通过" SourceLink"在VS中(通过选项启用>调试>常规>启用源服务器支持)。这需要作者在发布包时完成。有关详细信息,请参阅the documentation。
如果NuGet包使用SourceLink v2,Visual Studio 2017中还有其他选项(!),它将源信息嵌入到.pdb
文件中(需要包含在主NuGet包中)。这允许将所有源嵌入到pdb
文件中或链接到公共git存储库(例如GitHub)。有关详细信息,请参阅https://github.com/ctaggart/SourceLink。
但是,如果您的软件包的作者没有实施任何这些策略,那么您将失去运气。 (也许使用VS-integrated反编译器,如ReSharper中提供的那样)