对于一个 github 托管的开源 C# 项目,也可以通过 NuGet 获得,应该如何组织源代码?具体来说:
- .nuspec 文件应该在 github 存储库中吗?
- .nuspec 文件是否应该与 .csproj 文件位于同一文件夹中?
- NuGet 包树(/lib、/content 的东西)怎么样,既然生成了,它应该在 git 中吗?
我的想法是 NuGet 部分与 github 托管是分开的,因为项目源代码可用但 .nuspec 不可用,因为 NuGet 中的发布本身不是开源操作。没有人希望每个 fork 都构建和发布一个新的NuGet 包,因此开源 Foo 包最终在图库中显示为“Rick's Foo”与“John's Foo”与“Alice's Foo”等。
但另一方面,我确实希望 github 源代码库充当项目的一站式存储库,如果我打开我的另一台笔记本电脑并从那里登记,我应该能够构建/打包/推送而无需重新创建从头开始整个 NuGet 基础架构(即只输入我的 API 密钥,仅此而已)。
这两个要求是相互矛盾的,我错过了什么明显的东西吗?