Merge branch 'dev' into xamarin-settings

This commit is contained in:
David Britch 2018-01-16 15:24:13 +00:00
commit 1a8215a822
17 changed files with 4393 additions and 65 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
using Autofac; using eShopOnContainers.Services;
using eShopOnContainers.Services;
using System; using System;
using System.Globalization; using System.Globalization;
using System.Reflection; using System.Reflection;
@ -16,12 +15,13 @@ using eShopOnContainers.Core.Services.Dependency;
using eShopOnContainers.Core.Services.Settings; using eShopOnContainers.Core.Services.Settings;
using eShopOnContainers.Core.Services.FixUri; using eShopOnContainers.Core.Services.FixUri;
using Xamarin.Forms; using Xamarin.Forms;
using TinyIoC;
namespace eShopOnContainers.Core.ViewModels.Base namespace eShopOnContainers.Core.ViewModels.Base
{ {
public static class ViewModelLocator public static class ViewModelLocator
{ {
private static IContainer _container; private static TinyIoCContainer _container;
public static readonly BindableProperty AutoWireViewModelProperty = public static readonly BindableProperty AutoWireViewModelProperty =
BindableProperty.CreateAttached("AutoWireViewModel", typeof(bool), typeof(ViewModelLocator), default(bool), propertyChanged: OnAutoWireViewModelChanged); BindableProperty.CreateAttached("AutoWireViewModel", typeof(bool), typeof(ViewModelLocator), default(bool), propertyChanged: OnAutoWireViewModelChanged);
@ -38,62 +38,62 @@ namespace eShopOnContainers.Core.ViewModels.Base
public static bool UseMockService { get; set; } public static bool UseMockService { get; set; }
public static void RegisterDependencies(bool useMockServices) static ViewModelLocator()
{ {
var builder = new ContainerBuilder(); _container = new TinyIoCContainer();
// View models // View models
builder.RegisterType<BasketViewModel>(); _container.Register<BasketViewModel>();
builder.RegisterType<CatalogViewModel>(); _container.Register<CatalogViewModel>();
builder.RegisterType<CheckoutViewModel>(); _container.Register<CheckoutViewModel>();
builder.RegisterType<LoginViewModel>(); _container.Register<LoginViewModel>();
builder.RegisterType<MainViewModel>(); _container.Register<MainViewModel>();
builder.RegisterType<OrderDetailViewModel>(); _container.Register<OrderDetailViewModel>();
builder.RegisterType<ProfileViewModel>(); _container.Register<ProfileViewModel>();
builder.RegisterType<SettingsViewModel>(); _container.Register<SettingsViewModel>();
builder.RegisterType<CampaignViewModel>(); _container.Register<CampaignViewModel>();
builder.RegisterType<CampaignDetailsViewModel>(); _container.Register<CampaignDetailsViewModel>();
// Services // Services
builder.RegisterType<NavigationService>().As<INavigationService>().SingleInstance(); _container.Register<INavigationService, NavigationService>().AsSingleton();
builder.RegisterType<DialogService>().As<IDialogService>(); _container.Register<IDialogService, DialogService>();
builder.RegisterType<OpenUrlService>().As<IOpenUrlService>(); _container.Register<IOpenUrlService, OpenUrlService>();
builder.RegisterType<IdentityService>().As<IIdentityService>(); _container.Register<IIdentityService, IdentityService>();
builder.RegisterType<RequestProvider>().As<IRequestProvider>(); _container.Register<IRequestProvider, RequestProvider>();
builder.RegisterType<LocationService>().As<ILocationService>().SingleInstance(); _container.Register<ILocationService, LocationService>().AsSingleton();
builder.RegisterType<Services.Dependency.DependencyService>().As<IDependencyService>(); _container.Register<ICatalogService, CatalogMockService>().AsSingleton();
builder.RegisterType<SettingsService>().As<ISettingsService>().SingleInstance(); _container.Register<IBasketService, BasketMockService>().AsSingleton();
builder.RegisterType<FixUriService>().As<FixUriService>().SingleInstance(); _container.Register<IOrderService, OrderMockService>().AsSingleton();
_container.Register<IUserService, UserMockService>().AsSingleton();
_container.Register<ICampaignService, CampaignMockService>().AsSingleton();
}
public static void UpdateDependencies(bool useMockServices)
{
// Change injected dependencies
if (useMockServices) if (useMockServices)
{ {
builder.RegisterInstance(new CatalogMockService()).As<ICatalogService>(); _container.Register<ICatalogService, CatalogMockService>().AsSingleton();
builder.RegisterInstance(new BasketMockService()).As<IBasketService>(); _container.Register<IBasketService, BasketMockService>().AsSingleton();
builder.RegisterInstance(new OrderMockService()).As<IOrderService>(); _container.Register<IOrderService, OrderMockService>().AsSingleton();
builder.RegisterInstance(new UserMockService()).As<IUserService>(); _container.Register<IUserService, UserMockService>().AsSingleton();
builder.RegisterInstance(new CampaignMockService()).As<ICampaignService>(); _container.Register<ICampaignService, CampaignMockService>().AsSingleton();
UseMockService = true; UseMockService = true;
} }
else else
{ {
builder.RegisterType<CatalogService>().As<ICatalogService>().SingleInstance(); _container.Register<ICatalogService, CatalogService>().AsSingleton();
builder.RegisterType<BasketService>().As<IBasketService>().SingleInstance(); _container.Register<IBasketService, BasketService>().AsSingleton();
builder.RegisterType<OrderService>().As<IOrderService>().SingleInstance(); _container.Register<IOrderService, OrderService>().AsSingleton();
builder.RegisterType<UserService>().As<IUserService>().SingleInstance(); _container.Register<IUserService, UserService>().AsSingleton();
builder.RegisterType<CampaignService>().As<ICampaignService>().SingleInstance(); _container.Register<ICampaignService, CampaignService>().AsSingleton();
UseMockService = false; UseMockService = false;
} }
if (_container != null)
{
_container.Dispose();
}
_container = builder.Build();
} }
public static T Resolve<T>() public static T Resolve<T>() where T : class
{ {
return _container.Resolve<T>(); return _container.Resolve<T>();
} }

View File

@ -216,7 +216,7 @@ namespace eShopOnContainers.Core.ViewModels
private async Task ToggleMockServicesAsync() private async Task ToggleMockServicesAsync()
{ {
ViewModelLocator.RegisterDependencies(!UseAzureServices); ViewModelLocator.UpdateDependencies(!UseAzureServices);
UpdateInfoUseAzureServices(); UpdateInfoUseAzureServices();
var previousPageViewModel = NavigationService.PreviousPageViewModel; var previousPageViewModel = NavigationService.PreviousPageViewModel;
@ -230,6 +230,7 @@ namespace eShopOnContainers.Core.ViewModels
{ {
_settingsService.AuthAccessToken = string.Empty; _settingsService.AuthAccessToken = string.Empty;
_settingsService.AuthIdToken = string.Empty; _settingsService.AuthIdToken = string.Empty;
await NavigationService.NavigateToAsync<LoginViewModel>(new LogoutParameter { Logout = true }); await NavigationService.NavigateToAsync<LoginViewModel>(new LogoutParameter { Logout = true });
await NavigationService.RemoveBackStackAsync(); await NavigationService.RemoveBackStackAsync();
} }
@ -239,7 +240,7 @@ namespace eShopOnContainers.Core.ViewModels
private void ToggleFakeLocationAsync() private void ToggleFakeLocationAsync()
{ {
ViewModelLocator.RegisterDependencies(!UseAzureServices); ViewModelLocator.UpdateDependencies(!UseAzureServices);
UpdateInfoFakeLocation(); UpdateInfoFakeLocation();
} }

View File

@ -13,12 +13,12 @@
<PackageReference Include="Xam.Plugin.Geolocator" Version="3.0.4" /> <PackageReference Include="Xam.Plugin.Geolocator" Version="3.0.4" />
<PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.3.4" /> <PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.3.4" />
<PackageReference Include="Xamarin.Forms" Version="2.5.0.122203" /> <PackageReference Include="Xamarin.Forms" Version="2.5.0.122203" />
<PackageReference Include="Autofac" Version="4.6.2" />
<PackageReference Include="IdentityModel" Version="3.0.0" /> <PackageReference Include="IdentityModel" Version="3.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Services\Settings\" /> <Folder Include="Services\Settings\" />
<Folder Include="Services\Dependency\" /> <Folder Include="Services\Dependency\" />
<Folder Include="Services\FixUri\" /> <Folder Include="Services\FixUri\" />
<Folder Include="TinyIoC\" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -178,9 +178,6 @@
<Reference Include="IdentityModel"> <Reference Include="IdentityModel">
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> <HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath>
</Reference> </Reference>
<Reference Include="Autofac">
<HintPath>..\..\..\..\packages\Autofac.4.6.2\lib\netstandard1.1\Autofac.dll</HintPath>
</Reference>
<Reference Include="PInvoke.Windows.Core"> <Reference Include="PInvoke.Windows.Core">
<HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath> <HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath>
</Reference> </Reference>

View File

@ -3,7 +3,6 @@
<package id="Acr.Support" version="2.1.0" targetFramework="monoandroid80" /> <package id="Acr.Support" version="2.1.0" targetFramework="monoandroid80" />
<package id="Acr.UserDialogs" version="6.5.1" targetFramework="monoandroid80" /> <package id="Acr.UserDialogs" version="6.5.1" targetFramework="monoandroid80" />
<package id="AndHUD" version="1.2.0" targetFramework="monoandroid80" /> <package id="AndHUD" version="1.2.0" targetFramework="monoandroid80" />
<package id="Autofac" version="4.6.2" targetFramework="monoandroid80" />
<package id="IdentityModel" version="3.0.0" targetFramework="monoandroid80" /> <package id="IdentityModel" version="3.0.0" targetFramework="monoandroid80" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="monoandroid80" /> <package id="Microsoft.Bcl" version="1.1.10" targetFramework="monoandroid80" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="monoandroid80" /> <package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="monoandroid80" />

View File

@ -151,8 +151,11 @@
<Reference Include="IdentityModel"> <Reference Include="IdentityModel">
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath> <HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath>
</Reference> </Reference>
<Reference Include="Autofac"> <Reference Include="Plugin.Settings.Abstractions">
<HintPath>..\..\..\..\packages\Autofac.4.6.2\lib\netstandard1.1\Autofac.dll</HintPath> <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\MonoAndroid10\Plugin.Settings.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings">
<HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\MonoAndroid10\Plugin.Settings.dll</HintPath>
</Reference> </Reference>
<Reference Include="Plugin.CurrentActivity"> <Reference Include="Plugin.CurrentActivity">
<HintPath>..\..\..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath> <HintPath>..\..\..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll</HintPath>
@ -285,4 +288,4 @@
</Target> </Target>
<Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" /> <Import Project="..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets" Condition="Exists('..\..\..\..\packages\Xamarin.Forms.2.5.0.122203\build\netstandard1.0\Xamarin.Forms.targets')" />
<Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" /> <Import Project="..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" />
</Project> </Project>

View File

@ -3,7 +3,6 @@
<package id="Acr.Support" version="2.1.0" targetFramework="monoandroid80" /> <package id="Acr.Support" version="2.1.0" targetFramework="monoandroid80" />
<package id="Acr.UserDialogs" version="6.5.1" targetFramework="monoandroid80" /> <package id="Acr.UserDialogs" version="6.5.1" targetFramework="monoandroid80" />
<package id="AndHUD" version="1.2.0" targetFramework="monoandroid80" /> <package id="AndHUD" version="1.2.0" targetFramework="monoandroid80" />
<package id="Autofac" version="4.6.2" targetFramework="monoandroid80" />
<package id="IdentityModel" version="3.0.0" targetFramework="monoandroid80" /> <package id="IdentityModel" version="3.0.0" targetFramework="monoandroid80" />
<package id="Microsoft.CSharp" version="4.3.0" targetFramework="monoandroid80" /> <package id="Microsoft.CSharp" version="4.3.0" targetFramework="monoandroid80" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="monoandroid80" /> <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="monoandroid80" />

View File

@ -143,9 +143,6 @@
<Reference Include="xunit.execution.dotnet"> <Reference Include="xunit.execution.dotnet">
<HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\netstandard1.1\xunit.execution.dotnet.dll</HintPath> <HintPath>..\..\..\..\packages\xunit.extensibility.execution.2.3.1\lib\netstandard1.1\xunit.execution.dotnet.dll</HintPath>
</Reference> </Reference>
<Reference Include="Autofac">
<HintPath>..\..\..\..\packages\Autofac.4.6.2\lib\netstandard1.1\Autofac.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="Newtonsoft.Json"> <Reference Include="Newtonsoft.Json">
<HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath> <HintPath>..\..\..\..\packages\Newtonsoft.Json.10.0.3\lib\netstandard1.3\Newtonsoft.Json.dll</HintPath>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Autofac" version="4.6.2" targetFramework="xamarinios10" />
<package id="Microsoft.CSharp" version="4.3.0" targetFramework="xamarinios10" /> <package id="Microsoft.CSharp" version="4.3.0" targetFramework="xamarinios10" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="xamarinios10" /> <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="xamarinios10" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="xamarinios10" /> <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="xamarinios10" />

View File

@ -12,7 +12,7 @@ namespace eShopOnContainers.UnitTests
{ {
public CatalogViewModelTests() public CatalogViewModelTests()
{ {
ViewModelLocator.RegisterDependencies(true); ViewModelLocator.UpdateDependencies(true);
} }
[Fact] [Fact]

View File

@ -10,7 +10,7 @@ namespace eShopOnContainers.UnitTests
{ {
public MainViewModelTests() public MainViewModelTests()
{ {
ViewModelLocator.RegisterDependencies(true); ViewModelLocator.UpdateDependencies(true);
} }
[Fact] [Fact]

View File

@ -10,7 +10,7 @@
{ {
public MarketingViewModelTests() public MarketingViewModelTests()
{ {
ViewModelLocator.RegisterDependencies(true); ViewModelLocator.UpdateDependencies(true);
} }
[Fact] [Fact]

View File

@ -9,7 +9,7 @@ namespace eShopOnContainers.UnitTests
{ {
public MockViewModelTests() public MockViewModelTests()
{ {
ViewModelLocator.RegisterDependencies(true); ViewModelLocator.UpdateDependencies(true);
} }
[Fact] [Fact]

View File

@ -11,7 +11,7 @@ namespace eShopOnContainers.UnitTests
{ {
public OrderViewModelTests() public OrderViewModelTests()
{ {
ViewModelLocator.RegisterDependencies(true); ViewModelLocator.UpdateDependencies(true);
} }
[Fact] [Fact]

View File

@ -173,8 +173,11 @@
<Reference Include="SlideOverKit.iOS"> <Reference Include="SlideOverKit.iOS">
<HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath> <HintPath>..\..\..\..\packages\SlideOverKit.2.1.5\lib\Xamarin.iOS10\SlideOverKit.iOS.dll</HintPath>
</Reference> </Reference>
<Reference Include="Autofac"> <Reference Include="Plugin.Settings.Abstractions">
<HintPath>..\..\..\..\packages\Autofac.4.6.2\lib\netstandard1.1\Autofac.dll</HintPath> <HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Plugin.Settings">
<HintPath>..\..\..\..\packages\Xam.Plugins.Settings.3.1.1\lib\Xamarin.iOS10\Plugin.Settings.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="Newtonsoft.Json"> <Reference Include="Newtonsoft.Json">
@ -201,6 +204,27 @@
<Reference Include="Plugin.Geolocator"> <Reference Include="Plugin.Geolocator">
<HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\Xamarin.iOS10\Plugin.Geolocator.dll</HintPath> <HintPath>..\..\..\..\packages\Xam.Plugin.Geolocator.3.0.4\lib\Xamarin.iOS10\Plugin.Geolocator.dll</HintPath>
</Reference> </Reference>
<Reference Include="PInvoke.Windows.Core">
<HintPath>..\..\..\..\packages\PInvoke.Windows.Core.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Windows.Core.dll</HintPath>
</Reference>
<Reference Include="PInvoke.Kernel32">
<HintPath>..\..\..\..\packages\PInvoke.Kernel32.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.Kernel32.dll</HintPath>
</Reference>
<Reference Include="PInvoke.BCrypt">
<HintPath>..\..\..\..\packages\PInvoke.BCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.BCrypt.dll</HintPath>
</Reference>
<Reference Include="PInvoke.NCrypt">
<HintPath>..\..\..\..\packages\PInvoke.NCrypt.0.3.2\lib\portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10\PInvoke.NCrypt.dll</HintPath>
</Reference>
<Reference Include="Validation">
<HintPath>..\..\..\..\packages\Validation.2.2.8\lib\dotnet\Validation.dll</HintPath>
</Reference>
<Reference Include="PCLCrypto">
<HintPath>..\..\..\..\packages\PCLCrypto.2.0.147\lib\xamarinios10\PCLCrypto.dll</HintPath>
</Reference>
<Reference Include="IdentityModel">
<HintPath>..\..\..\..\packages\IdentityModel.3.0.0\lib\netstandard2.0\IdentityModel.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<BundleResource Include="Resources\fake_product_01.png" /> <BundleResource Include="Resources\fake_product_01.png" />
@ -405,4 +429,4 @@
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" /> <Error Condition="!Exists('..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" />
</Target> </Target>
</Project> </Project>

View File

@ -2,13 +2,18 @@
<packages> <packages>
<package id="Acr.Support" version="2.1.0" targetFramework="xamarinios10" /> <package id="Acr.Support" version="2.1.0" targetFramework="xamarinios10" />
<package id="Acr.UserDialogs" version="6.5.1" targetFramework="xamarinios10" /> <package id="Acr.UserDialogs" version="6.5.1" targetFramework="xamarinios10" />
<package id="Autofac" version="4.6.2" targetFramework="xamarinios10" />
<package id="BTProgressHUD" version="1.2.0.5" targetFramework="xamarinios10" /> <package id="BTProgressHUD" version="1.2.0.5" targetFramework="xamarinios10" />
<package id="IdentityModel" version="3.0.0" targetFramework="xamarinios10" />
<package id="Microsoft.CSharp" version="4.3.0" targetFramework="xamarinios10" /> <package id="Microsoft.CSharp" version="4.3.0" targetFramework="xamarinios10" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="xamarinios10" /> <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="xamarinios10" />
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="xamarinios10" /> <package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="xamarinios10" />
<package id="NETStandard.Library" version="2.0.0" targetFramework="xamarinios10" /> <package id="NETStandard.Library" version="2.0.0" targetFramework="xamarinios10" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="xamarinios10" /> <package id="Newtonsoft.Json" version="10.0.3" targetFramework="xamarinios10" />
<package id="PCLCrypto" version="2.0.147" targetFramework="xamarinios10" />
<package id="PInvoke.BCrypt" version="0.3.2" targetFramework="xamarinios10" />
<package id="PInvoke.Kernel32" version="0.3.2" targetFramework="xamarinios10" />
<package id="PInvoke.NCrypt" version="0.3.2" targetFramework="xamarinios10" />
<package id="PInvoke.Windows.Core" version="0.3.2" targetFramework="xamarinios10" />
<package id="SlideOverKit" version="2.1.5" targetFramework="xamarinios10" /> <package id="SlideOverKit" version="2.1.5" targetFramework="xamarinios10" />
<package id="Splat" version="2.0.0" targetFramework="xamarinios10" /> <package id="Splat" version="2.0.0" targetFramework="xamarinios10" />
<package id="System.AppContext" version="4.3.0" targetFramework="xamarinios10" /> <package id="System.AppContext" version="4.3.0" targetFramework="xamarinios10" />
@ -58,6 +63,7 @@
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="xamarinios10" /> <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" /> <package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="xamarinios10" /> <package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="xamarinios10" />
<package id="Validation" version="2.2.8" targetFramework="xamarinios10" />
<package id="WebP.Touch" version="1.0.7" targetFramework="xamarinios10" /> <package id="WebP.Touch" version="1.0.7" targetFramework="xamarinios10" />
<package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="xamarinios10" /> <package id="Xam.Plugin.Geolocator" version="3.0.4" targetFramework="xamarinios10" />
<package id="Xamarin.FFImageLoading" version="2.3.4" targetFramework="xamarinios10" /> <package id="Xamarin.FFImageLoading" version="2.3.4" targetFramework="xamarinios10" />