我应该在存储库中发布 nuspec 文件吗?

Should I publish the nuspec file in a repository?

在 GitHub 或其他 public 网站上创建开源库时,我是否应该发布描述相应 NuGet 包的 .nuspec 文件?

我已经这样做了几次(因为 .nuspec 文件中没有 API 密钥或其他敏感信息),以便让我自己轻松发布后续版本而无需保留私有文件,并允许其他人分叉它并轻松添加他们自己的描述。然而,许多顶级软件包的开发人员似乎并没有在他们的存储库中发布 .nuspec 文件(有时他们发布 NuGet.exe 以及 .targets 文件,等等),所以我想也许我'我做错事了。

包创作应被视为源代码的一部分,因为它是构建完全可用输出的必需资产。

一些项目使用基于 msbuild 的特殊工具在构建期间创建 nuspec 文件,因此存储库中似乎有 none。新的 "SDK-based" 项目(例如 .NET Standard 库)集成了 nuget 工具,无需创建 nuspec 文件即可从 csproj 创建 nupkg 文件。该工具也被一些流行的软件包采用(例如 Newtonsoft.Json)。