c# – NuGet发布的github托管项目的目录结构
对于也可以通过NuGet使用的
github托管的开源C#项目,应该如何组织源代码?特别:
> .nuspec文件应该在github仓库中? 我的想法是,NuGet部分与github主机是分开的,就像在项目源中一样,但是.nuspec不是,因为NuGet的发布不是一个开放源代码的操作.没有人希望每一个叉子都可以建立和发布一个新的NuGet软件包,这样开源的Foo软件??包就可以在“Rick’s Foo”与“John’s Foo”和“Alice’s Foo” 但另一方面,我希望github源代码库作为项目的一站式存储库,如果我打开我的其他笔记本电脑并从那里登记,我应该能够构建/打包/推送w / o重新创建整个NuGet基础架构从零开始(即只输入我的API密钥,没有更多). 这两个要求是相互矛盾的,我想念一些明显的东西吗? 解决方法
我会做以下事情:
>提交.csproj文件旁边的.nuspec文件 >构建源代码并创建nuget包的“构建”目标 我亲自维护.nuspec文件中的nuget包的版本号,并在我执行“release”时手动更新它.这样我可以标记我推到NuGet Feed的确切版本. 使用此设置,Visual Studio中的构建不会生成NuGet包,但存储库中都可以使用所有工具. 文件夹结构如下所示: .Docs ==> not in source repo .Packages ==> not under source control .Src ==> git repo here .SrcMySolution.sln .Src.gitignore .SrcMuRules.ruleset .Srcbuild.proj ==> msbuild file to build everything. .SrcMyProjectMyProject.csproj .SrcMyProjectMyProject.nuspec .SrcMyProjectnuget.config .Build ==> not under source control .BuildDebug .BuildRelease .BuildPublish 请注意包还原功能中的这个错误,它将忽略您配置的包位置. http://nuget.codeplex.com/workitem/1990 ==>这是在Nuget 2.7中修复的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |