Rem*_*anu 10 c# open-source github nuget
对于github托管的开源C#项目,也可以通过NuGet获得,如何组织源代码?特别:
我的想法是NuGet部分与github托管是分开的,因为在项目源中可用,但.nuspec不是,因为NuGet中的发布本身不是开源操作.没有人希望每个分支构建和发布一个新的 NuGet包,以便开源Foo包最终在库中以'Rick's Foo'与'John's Foo'对比'Alice's Foo'等.
但另一方面,我确实希望github源代码库充当项目的一站式存储库,如果我打开我的其他笔记本电脑并从那里登记,我应该能够构建/打包/推送w/o重新创建整个NuGet基础架构从头开始(即只输入我的API密钥,仅此而已).
这两个要求相互矛盾,我是否错过了一些明显的东西?
我会做以下事情:
.nuspec文件旁边的.csproj文件nuget.config文件,将包文件夹移动一级.我个人在.nuspec文件中维护nuget包的版本号,并在我执行"发布"时手动更新它.这样我就可以标记我推送到NuGet提要的确切版本.
使用此设置,Visual Studio中的构建不会生成NuGet包,但存储库中的所有工具都可用.
文件夹结构如下所示:
.\Docs\ ==> not in source repo
.\Packages\ ==> not under source control
.\Src\ ==> git repo here
.\Src\MySolution.sln
.\Src\.gitignore
.\Src\MuRules.ruleset
.\Src\build.proj ==> msbuild file to build everything.
.\Src\MyProject\MyProject.csproj
.\Src\MyProject\MyProject.nuspec
.\Src\MyProject\nuget.config
.\Build\ ==> not under source control
.\Build\Debug\
.\Build\Release\
.\Build\Publish\
Run Code Online (Sandbox Code Playgroud)
请注意"程序包还原"功能中的此错误,它将忽略您配置的程序包位置.http://nuget.codeplex.com/workitem/1990 ==>这在Nuget 2.7中得到修复
| 归档时间: |
|
| 查看次数: |
1817 次 |
| 最近记录: |