目前,我把官方版本的版本和 Nuget 一起打包到 Nuget.org,但是我把符号源推送到 symbolsource.org 的调试版本和 Nuget 一起打包。
编辑: (Jon Skeet,带有一些来自 Noda Time 开发的偏见)
NuGet 现在支持向两个 NuGet 画廊推送 symbolsource.org (或类似的服务器) ,即 记录在案。不幸的是,这里有两个相互矛盾的要求:
这很好,但是 NuGet (据我所知)不允许以有用的方式在同一个包中发布发布版本和调试版本。
所以,选择是:
前两个实际上归结为调试版本和发布版本之间的差异所造成的影响... ... 尽管值得注意的是,因为想要检查某些行为而想要进入库的代码和因为相信自己发现了 bug 而想要调试库的代码之间也有很大的差异。在第二种情况下,获取库 作为 VisualStudio 解决方案的代码并以这种方式进行调试可能更好,因此我不会过多关注这种情况。
我的想法是继续使用这个版本构建,期望很少有人需要调试 相对而言,而那些需要调试的人不会受到这个版本构建中的优化的影响。(不管怎样,大部分优化工作还是由 JIT 编译器完成的。)
还有其他我们没考虑过的选择吗?是否还有其他考虑因素打破了平衡?将 NuGet 软件包推向 SymbolSource 是否足够新,以至于“最佳实践”真的还没有建立起来?