在Xamarin项目中进行适当的依赖管理

时间:2014-07-08 09:57:18

标签: c# xamarin.ios xamarin xamarin.android nuget

我目前正在尝试改进项目中的依赖关系管理。我们有一个典型的Android / iOS Xamarin项目,并使用Xamarin-Studio作为IDE。对于共享代码,我们使用一个PCL和两个共享项目(与Xamarin 3一起引入)。

到目前为止,我们只是有一个带DLL的文件夹来处理第三方库... ofc不是正确的方法。现在我们努力改善这个问题。

对我来说,有一个大问题: Xamarin.Components还是NuGet?这种方法的区别在哪里?你用什么类型的依赖?

从我的角度来看,NuGet是一种处理依赖关系的正确方法...一个简单的依赖定义文件,自动更新,处理传递依赖,我只需要签入一个文件,NuGet自动下载所有必要的文件,等等... 另一方面,Xamarin.Components似乎在xamarin世界中更成熟......我发现不仅有json.net和sqlite.NET这样的库,而且还有前端组件,例如: ZXing.Net或BTProgressHUD ......

了解如何处理跨平台项目中的依赖项将非常有用!

1 个答案:

答案 0 :(得分:2)

同时使用。您将无法在Xamarin Components商店中找到Nuget中的大量内容,反之亦然。

Xamarin Components会自行恢复,您可以在构建服务器上对其进行设置,以便在解决方案上运行xpkg.exe restore,这样您就可以拥有CI。

你应该注意,现在Xamarin Components不能依赖其他Xamarin组件,所以这就是NuGet更好的地方。 Xamarin还有一个接受新的和更新现有组件的loooooooooooong过程,这可以使NuGets更受欢迎,因为你可以更快地获得更新的版本。

因此,我普遍认为,由于Xamarin组件的限制,大多数依赖项都是NuGets。