目前,我将发布版本与Nuget一起打包到nuget.org的官方版本,但是我使用Nuget将调试版本打包为符号源推送到symbolsource.org.
编辑:( Jon Skeet,与Noda Time开发有一些偏见)
NuGet现在支持推送到NuGet gallery 和 symbolsource.org(或类似的服务器),如文档所述.不幸的是,这里有两个相互矛盾的要求:
这没关系,但是NuGet没有(据我所知)允许在同一个包中以有用的方式发布发布和调试版本.
所以,选择是:
前两个真正归结为调试和发布版本之间差异的影响......虽然值得注意的是,想要进入库代码之间也存在很大差异,因为你想要检查一些行为,并且想要调试库的代码,因为你相信你发现了一个bug.在第二种情况下,最好将库的代码作为Visual Studio解决方案并以这种方式进行调试,因此我不会过多关注这种情况.
我的诱惑是继续发布版本,期望相对较少的人需要调试,并且那些不会受发布版本中的优化影响很大的人.(无论如何,JIT编译器完成了大部分优化.)
那么,我们还没有考虑过其他选择吗?是否有其他考虑因素可以达到平衡?将NuGet软件包推向SymbolSource是否足够新,"最佳实践"真的还没有建立?