现在有很多很棒的开源软件包和框架可供各种用途使用。我们以ASP.NET Core MVC和Newtonsoft.Json为例。 这些是在Nuget包中提供的,它们被剥夺了源代码。 我想很多人都记得很多情况,其中一个人希望在GitHub上免费获得源代码(以帮助调试某些问题),但是被迫执行以下操作之一:
这最后一个选项是最可行的,但是你需要花费大量的时间,而不能只是将它推送到你的存储库或再部署已编译的代码。其他开发人员不会找到这些dll的相对路径,客户最终可能会在部署包中出现错误版本的nuget包。
是否有第五个选项具有第四个选项的所有优点,但没有一个缺点?我想这是由一个孤立的时尚的IDE完成的,即没有修改我的.csproj和package.config文件,但是“Go to definition”& “查找所有引用”功能和调试应该工作,好像我迷上了真实的东西。
是的,我很懒。
答案 0 :(得分:2)
请将程序包打包为符号包,然后在下载程序包源代码后将PackageName.Symbols.nupkg文件与ProjectName.nupkg文件放在同一个程序包服务器上。我正在使用以下步骤在Visual Studio IDE中调试我的NuGet包源代码。
NuGet Pack MyProject.csproj -Symbols
现在,当您开始调试项目并按F11步骤进入已安装软件包中的一个函数时,它将进入包源代码。
答案 1 :(得分:1)
如其中一条评论所述,有一个VS扩展可以做到这一点: Nuget Reference Switcher(选择一个与您的VS版本相匹配的版本),有关详细信息,您可以在github上阅读其维基。
这是我通常做的事情: