在GitHub或其他公共网站上创建开源库时,是否应该发布描述相应NuGet包的.nuspec文件?
我已经这样做了几次(因为.nuspec文件中没有包含API密钥或其他敏感信息),以便允许自己轻松发布后续版本而不保留私有文件,并允许其他人分叉并轻松添加自己的描述。但是,许多顶级软件包的开发人员似乎并没有在他们的存储库中发布.nuspec文件(有时他们会发布NuGet.exe和.targets文件,等等),所以我想也许我正在做出了点问题。
答案 0 :(得分:2)
软件包创作应被视为源代码的一部分,因为它是构建完全可用输出所必需的资产。
有些项目使用特殊的基于msbuild的工具在构建期间创建nuspec文件,因此看起来存储库中没有。新的“基于SDK”的项目(例如.NET标准库)集成了nuget工具,能够从csproj创建nupkg文件,而无需创建nuspec文件。一些流行的软件包(例如Newtonsoft.Json)也采用了这种工具。