diff --git a/BuildFeedApp-Full/App.xaml b/BuildFeedApp-Full/App.xaml index d19ea08..6cfa014 100644 --- a/BuildFeedApp-Full/App.xaml +++ b/BuildFeedApp-Full/App.xaml @@ -1,8 +1,8 @@  diff --git a/BuildFeedApp-Full/App.xaml.cs b/BuildFeedApp-Full/App.xaml.cs index 5d0b765..d2b72cb 100644 --- a/BuildFeedApp-Full/App.xaml.cs +++ b/BuildFeedApp-Full/App.xaml.cs @@ -15,7 +15,7 @@ using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; -namespace BuildFeedApp_Full +namespace BuildFeedApp { /// /// Provides application-specific behavior to supplement the default Application class. @@ -28,9 +28,6 @@ sealed partial class App : Application /// public App() { - Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync( - Microsoft.ApplicationInsights.WindowsCollectors.Metadata | - Microsoft.ApplicationInsights.WindowsCollectors.Session); this.InitializeComponent(); this.Suspending += OnSuspending; } diff --git a/BuildFeedApp-Full/BuildFeedApp-Full.csproj b/BuildFeedApp-Full/BuildFeedApp-Full.csproj index aeb955e..dade1d2 100644 --- a/BuildFeedApp-Full/BuildFeedApp-Full.csproj +++ b/BuildFeedApp-Full/BuildFeedApp-Full.csproj @@ -7,8 +7,8 @@ {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8} AppContainerExe Properties - BuildFeedApp_Full - BuildFeedApp-Full + BuildFeedApp + BuildFeedApp en-US UAP 10.0.10240.0 @@ -90,9 +90,8 @@ - - PreserveNewest - + + @@ -103,14 +102,16 @@ MainPage.xaml + + Designer - + diff --git a/BuildFeedApp-Full/MainPage.xaml b/BuildFeedApp-Full/MainPage.xaml index 860ebc3..dfdb773 100644 --- a/BuildFeedApp-Full/MainPage.xaml +++ b/BuildFeedApp-Full/MainPage.xaml @@ -1,13 +1,24 @@  + mc:Ignorable="d" Loaded="Page_Loaded"> - + + + + + + + + + + + + diff --git a/BuildFeedApp-Full/MainPage.xaml.cs b/BuildFeedApp-Full/MainPage.xaml.cs index 6748e19..6c61cc6 100644 --- a/BuildFeedApp-Full/MainPage.xaml.cs +++ b/BuildFeedApp-Full/MainPage.xaml.cs @@ -1,8 +1,10 @@ -using System; +using BuildFeedApp.Service; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; +using System.Threading.Tasks; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; @@ -15,16 +17,21 @@ // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 -namespace BuildFeedApp_Full +namespace BuildFeedApp { - /// - /// An empty page that can be used on its own or navigated to within a Frame. - /// - public sealed partial class MainPage : Page - { - public MainPage() - { - this.InitializeComponent(); - } - } + /// + /// An empty page that can be used on its own or navigated to within a Frame. + /// + public sealed partial class MainPage : Page + { + public MainPage() + { + this.InitializeComponent(); + } + + private async void Page_Loaded(object sender, RoutedEventArgs e) + { + lvContent.ItemsSource = await ApiCache.GetApi("http://vnext.buildfeed.net/api"); + } + } } diff --git a/BuildFeedApp-Full/Package.appxmanifest b/BuildFeedApp-Full/Package.appxmanifest index 77c63e9..6988385 100644 --- a/BuildFeedApp-Full/Package.appxmanifest +++ b/BuildFeedApp-Full/Package.appxmanifest @@ -1,48 +1,27 @@  - - - - - - - + + + BuildFeedApp-Full Thomas Assets\StoreLogo.png - - - + - - - - + + + + - diff --git a/BuildFeedApp-Full/Service/ApiCache.cs b/BuildFeedApp-Full/Service/ApiCache.cs new file mode 100644 index 0000000..4ce3d84 --- /dev/null +++ b/BuildFeedApp-Full/Service/ApiCache.cs @@ -0,0 +1,97 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace BuildFeedApp.Service +{ + public static class ApiCache + { + public static int SecondsBeforeStale { get; set; } + + private static Dictionary _cache = new Dictionary(); + + static ApiCache() + { + //ServicePointManager.DefaultConnectionLimit = 20; + SecondsBeforeStale = 15; + } + + /// + /// Download and parse a JSON document into the specified type + /// + /// Object that JSON Reperesents + /// The URL that the JSON can be retreived from + /// + public async static Task GetApi(string url) + { + if (_cache.ContainsKey(url) + && (_cache[url].ExpiryTime > DateTime.Now || !await IsAPIStale(url, _cache[url].LastModified))) + { + return (T)(_cache[url].Value); + } + else + { + var cat = await FetchAPI(url); + _cache[url] = cat; + return (T)(cat.Value); + } + } + + private async static Task FetchAPI(string url) + { + HttpWebRequest wreq = HttpWebRequest.CreateHttp(url); + ApiCacheEntry ret = new ApiCacheEntry(); + + using (HttpWebResponse wres = await wreq.GetResponseAsync() as HttpWebResponse) + { + ret.ExpiryTime = DateTime.Now.AddSeconds(SecondsBeforeStale); + //ret.LastModified = wres.LastModified; + + using (Stream s = wres.GetResponseStream()) + using (StreamReader sr = new StreamReader(s)) + using (JsonReader jr = new JsonTextReader(sr)) + { + + JsonSerializer jsz = new JsonSerializer(); + + ret.Value = jsz.Deserialize(jr); + } + } + + return ret; + } + + private async static Task IsAPIStale(string url, DateTime lastChecked) + { + HttpWebRequest wreq = HttpWebRequest.CreateHttp(url); + //wreq.IfModifiedSince = lastChecked; + wreq.Method = "HEAD"; + + try + { + HttpWebResponse wres = await wreq.GetResponseAsync() as HttpWebResponse; + } + catch (WebException wex) + { + HttpWebResponse wres = wex.Response as HttpWebResponse; + if (wres.StatusCode == HttpStatusCode.NotModified || wres.StatusCode == HttpStatusCode.NotFound) + { + return false; + } + } + return true; + } + } + + internal struct ApiCacheEntry + { + public DateTime ExpiryTime { get; set; } + public DateTime LastModified { get; set; } + public object Value { get; set; } + } +} diff --git a/BuildFeedApp-Full/Service/Build.cs b/BuildFeedApp-Full/Service/Build.cs new file mode 100644 index 0000000..9716007 --- /dev/null +++ b/BuildFeedApp-Full/Service/Build.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BuildFeedApp.Service +{ + public class Build + { + public Guid Id { get; set; } + public long? LegacyId { get; set; } + public byte MajorVersion { get; set; } + public byte MinorVersion { get; set; } + public ushort Number { get; set; } + public ushort? Revision { get; set; } + public string Lab { get; set; } + public DateTime? BuildTime { get; set; } + + public DateTime Added { get; set; } + public DateTime Modified { get; set; } + public TypeOfSource SourceType { get; set; } + public string SourceDetails { get; set; } + public DateTime? LeakDate { get; set; } + public LevelOfFlight FlightLevel { get; set; } + + public string LabUrl { get; set; } + + public bool IsLeaked + { + get + { + switch (SourceType) + { + case TypeOfSource.PublicRelease: + case TypeOfSource.InternalLeak: + case TypeOfSource.UpdateGDR: + case TypeOfSource.UpdateLDR: + return true; + default: + return false; + } + } + } + + public string FullBuildString + { + get + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("{0}.{1}.{2}", MajorVersion, MinorVersion, Number); + + if (Revision.HasValue) + { + sb.AppendFormat(".{0}", Revision); + } + + if (!string.IsNullOrWhiteSpace(Lab)) + { + sb.AppendFormat(".{0}", Lab); + } + + if (BuildTime.HasValue) + { + sb.AppendFormat(".{0:yyMMdd-HHmm}", BuildTime); + } + + return sb.ToString(); + } + } + } + + public enum TypeOfSource + { + PublicRelease, + InternalLeak, + UpdateGDR, + UpdateLDR, + AppPackage, + BuildTools, + Documentation, + Logging, + PrivateLeak + } + + public enum LevelOfFlight + { + None = 0, + WIS = 1, + WIF = 2, + OSG = 3, + MSIT = 4, + Canary = 5 + } +} diff --git a/BuildFeedApp-Full/project.json b/BuildFeedApp-Full/project.json index e3b2dba..f93afb3 100644 --- a/BuildFeedApp-Full/project.json +++ b/BuildFeedApp-Full/project.json @@ -1,9 +1,7 @@ { "dependencies": { - "Microsoft.ApplicationInsights": "1.0.0", - "Microsoft.ApplicationInsights.PersistenceChannel": "1.0.0", - "Microsoft.ApplicationInsights.WindowsApps": "1.0.0", - "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0" + "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0", + "Newtonsoft.Json": "7.0.1" }, "frameworks": { "uap10.0": {} diff --git a/BuildFeedApp-Full/project.lock.json b/BuildFeedApp-Full/project.lock.json index 1487fcb..9308c5e 100644 --- a/BuildFeedApp-Full/project.lock.json +++ b/BuildFeedApp-Full/project.lock.json @@ -3,37 +3,6 @@ "version": 1, "targets": { "UAP,Version=v10.0": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -232,6 +201,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -1569,37 +1546,6 @@ } }, "UAP,Version=v10.0/win10-arm": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -1841,6 +1787,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -3225,37 +3179,6 @@ } }, "UAP,Version=v10.0/win10-arm-aot": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -3483,6 +3406,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -4853,37 +4784,6 @@ } }, "UAP,Version=v10.0/win10-x64": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -5130,6 +5030,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -6514,37 +6422,6 @@ } }, "UAP,Version=v10.0/win10-x64-aot": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -6772,6 +6649,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -8142,37 +8027,6 @@ } }, "UAP,Version=v10.0/win10-x86": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -8419,6 +8273,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -9803,37 +9665,6 @@ } }, "UAP,Version=v10.0/win10-x86-aot": { - "Microsoft.ApplicationInsights/1.0.0": { - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll": {} - } - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )" - }, - "compile": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - }, - "runtime": { - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll": {} - } - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "dependencies": { - "Microsoft.ApplicationInsights": "[1.0.0, )", - "Microsoft.ApplicationInsights.PersistenceChannel": "[1.0.0, )" - }, - "compile": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - }, - "runtime": { - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll": {} - } - }, "Microsoft.CSharp/4.0.0": { "dependencies": { "System.Collections": "[4.0.10, )", @@ -10061,6 +9892,14 @@ "lib/dotnet/Microsoft.Win32.Primitives.dll": {} } }, + "Newtonsoft.Json/7.0.1": { + "compile": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll": {} + } + }, "System.AppContext/4.0.0": { "dependencies": { "System.Collections": "[4.0.0, )", @@ -11432,56 +11271,6 @@ } }, "libraries": { - "Microsoft.ApplicationInsights/1.0.0": { - "sha512": "HZ47/thX57SOuIivSvIbsR6L9CCb/Yt3IyB2i4KHmmNlf3DO+lqFwWIKDdbDNWKX+qh0Rg20/JSMPK0dwUsYYw==", - "type": "Package", - "files": [ - "[Content_Types].xml", - "_rels/.rels", - "lib/net40/Microsoft.ApplicationInsights.dll", - "lib/net40/Microsoft.ApplicationInsights.XML", - "lib/net45/Microsoft.ApplicationInsights.dll", - "lib/net45/Microsoft.ApplicationInsights.XML", - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.dll", - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.XML", - "lib/wp8/Microsoft.ApplicationInsights.dll", - "lib/wp8/Microsoft.ApplicationInsights.XML", - "Microsoft.ApplicationInsights.nuspec", - "package/services/metadata/core-properties/b9e7bc7ab2454491af07046165ff01d0.psmdcp" - ] - }, - "Microsoft.ApplicationInsights.PersistenceChannel/1.0.0": { - "sha512": "0qQXC+CtbyF2RPuld5pF74fxsnP6ml0LUnzQ6GL9AXXY64LPsLDsPUAymoUffo7LZvPDppZboTYX59TfVxKA7A==", - "type": "Package", - "files": [ - "[Content_Types].xml", - "_rels/.rels", - "lib/net40/Microsoft.ApplicationInsights.PersistenceChannel.dll", - "lib/net40/Microsoft.ApplicationInsights.PersistenceChannel.XML", - "lib/portable-win8+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.XML", - "lib/portable-win81+wpa81/Microsoft.ApplicationInsights.PersistenceChannel.dll", - "lib/wp8/Microsoft.ApplicationInsights.PersistenceChannel.dll", - "lib/wp8/Microsoft.ApplicationInsights.PersistenceChannel.XML", - "Microsoft.ApplicationInsights.PersistenceChannel.nuspec", - "package/services/metadata/core-properties/dc9ebba80e7343fdbd0a39a3cdeb672c.psmdcp" - ] - }, - "Microsoft.ApplicationInsights.WindowsApps/1.0.0": { - "sha512": "fNCAjIwvbTV+G0dT14bgM5tptsqeSaKQaCrlq7QknOq1Xdm8ZmgsDYddMgXkvykyKLjWyU6fKuOpj6fsQJy+wQ==", - "type": "Package", - "files": [ - "[Content_Types].xml", - "_rels/.rels", - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.dll", - "lib/win81/Microsoft.ApplicationInsights.Extensibility.Windows.XML", - "lib/wp8/Microsoft.ApplicationInsights.Extensibility.Windows.dll", - "lib/wp8/Microsoft.ApplicationInsights.Extensibility.Windows.XML", - "lib/wpa81/Microsoft.ApplicationInsights.Extensibility.Windows.dll", - "lib/wpa81/Microsoft.ApplicationInsights.Extensibility.Windows.XML", - "Microsoft.ApplicationInsights.WindowsApps.nuspec", - "package/services/metadata/core-properties/4f6f732debe548beaa1183418e8d65cc.psmdcp" - ] - }, "Microsoft.CSharp/4.0.0": { "sha512": "oWqeKUxHXdK6dL2CFjgMcaBISbkk+AqEg+yvJHE4DElNzS4QaTsCflgkkqZwVlWby1Dg9zo9n+iCAMFefFdJ/A==", "type": "Package", @@ -12135,6 +11924,29 @@ "ref/xamarinmac20/_._" ] }, + "Newtonsoft.Json/7.0.1": { + "sha512": "q3V4KLetMLnt1gpAVWgtXnHjKs0UG/RalBc29u2ZKxd5t5Ze4JBL5WiiYIklJyK/5CRiIiNwigVQUo0FgbsuWA==", + "type": "Package", + "files": [ + "[Content_Types].xml", + "_rels/.rels", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml", + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll", + "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml", + "Newtonsoft.Json.nuspec", + "package/services/metadata/core-properties/49e907fc018c4c7ab632e6d4ad4766f8.psmdcp", + "tools/install.ps1" + ] + }, "System.AppContext/4.0.0": { "sha512": "gUoYgAWDC3+xhKeU5KSLbYDhTdBYk9GssrMSCcWUADzOglW+s0AmwVhOUGt2tL5xUl7ZXoYTPdA88zCgKrlG0A==", "type": "Package", @@ -14833,10 +14645,8 @@ }, "projectFileDependencyGroups": { "": [ - "Microsoft.ApplicationInsights >= 1.0.0", - "Microsoft.ApplicationInsights.PersistenceChannel >= 1.0.0", - "Microsoft.ApplicationInsights.WindowsApps >= 1.0.0", - "Microsoft.NETCore.UniversalWindowsPlatform >= 5.0.0" + "Microsoft.NETCore.UniversalWindowsPlatform >= 5.0.0", + "Newtonsoft.Json >= 7.0.1" ], "UAP,Version=v10.0": [] }