我正在开发我的第三个MonoTouch项目,并希望开始认真使用第三方OSS,如NUnitLite和TinyIoC。我不确定管理这些依赖项的最佳方法是什么。其中一些项目还没有发布MonoTouch程序集。快速搜索GitHub的“MonoTouch”发现了一些使用OSS的项目。看起来他们直接在项目中包含了依赖的来源,这让我觉得这将是一个更新的噩梦。
任何人都有可以指向我的良好工作流程吗?
答案 0 :(得分:5)
一般来说,我更喜欢编译具有低活动性的项目,如MonoTouch.Dialog,并将它们保存在lib文件夹中。对于其他更活跃的项目,我喜欢使用Git子模块。
例如,让我们来看看ServiceStack.Text这是一个非常快速的串行器,它与MonoTouch和Mono for Android兼容,开箱即用。在我的项目中,我发出命令:
git submodule add https://github.com/ServiceStack/ServiceStack.Text.git
然后我编译适当的项目并直接从构建输出中引用它们。这样做的另一个好处是能够对存储库发出git pull
以快速无缝地获取更新。
会增加一些开销,但这是管理OSS依赖关系的最佳方式,而不需要像库的目录库或包管理器那样; - )