Initial BuildFeed App commit.

It literally does nothing more than dump every build in a listview.
This commit is contained in:
Thomas Hounsell 2015-10-07 09:22:06 +01:00
parent 528b9055d7
commit cb3babd1ee
10 changed files with 327 additions and 332 deletions

View File

@ -1,8 +1,8 @@
<Application
x:Class="BuildFeedApp_Full.App"
x:Class="BuildFeedApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:BuildFeedApp_Full"
xmlns:local="using:BuildFeedApp"
RequestedTheme="Light">
</Application>

View File

@ -15,7 +15,7 @@
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
namespace BuildFeedApp_Full
namespace BuildFeedApp
{
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
@ -28,9 +28,6 @@ sealed partial class App : Application
/// </summary>
public App()
{
Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
Microsoft.ApplicationInsights.WindowsCollectors.Metadata |
Microsoft.ApplicationInsights.WindowsCollectors.Session);
this.InitializeComponent();
this.Suspending += OnSuspending;
}

View File

@ -7,8 +7,8 @@
<ProjectGuid>{5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}</ProjectGuid>
<OutputType>AppContainerExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BuildFeedApp_Full</RootNamespace>
<AssemblyName>BuildFeedApp-Full</AssemblyName>
<RootNamespace>BuildFeedApp</RootNamespace>
<AssemblyName>BuildFeedApp</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion>
@ -90,9 +90,8 @@
</PropertyGroup>
<ItemGroup>
<!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
<Content Include="ApplicationInsights.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="BuildFeedApp_StoreKey.pfx" />
<None Include="BuildFeedApp_TemporaryKey.pfx" />
<None Include="project.json" />
</ItemGroup>
<ItemGroup>
@ -103,14 +102,16 @@
<DependentUpon>MainPage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Service\ApiCache.cs" />
<Compile Include="Service\Build.cs" />
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="BuildFeedApp-Full_TemporaryKey.pfx" />
</ItemGroup>
<ItemGroup>
<None Include="Package.StoreAssociation.xml" />
<Content Include="Properties\Default.rd.xml" />
<Content Include="Assets\LockScreenLogo.scale-200.png" />
<Content Include="Assets\SplashScreen.scale-200.png" />

View File

@ -1,13 +1,24 @@
<Page
x:Class="BuildFeedApp_Full.MainPage"
x:Class="BuildFeedApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:BuildFeedApp_Full"
xmlns:local="using:BuildFeedApp"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
mc:Ignorable="d" Loaded="Page_Loaded">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ListView x:Name="lvContent">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding FullBuildString}" />
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid ScrollViewer.HorizontalScrollMode="Enabled" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</Grid>
</Page>

View File

@ -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
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
}
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
lvContent.ItemsSource = await ApiCache.GetApi<Build[]>("http://vnext.buildfeed.net/api");
}
}
}

View File

@ -1,48 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
IgnorableNamespaces="uap mp">
<Identity
Name="730047a3-db94-4eba-9604-3092d344f2b9"
Publisher="CN=Thomas"
Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="730047a3-db94-4eba-9604-3092d344f2b9" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp">
<Identity Name="730047a3-db94-4eba-9604-3092d344f2b9" Publisher="CN=Thomas" Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="730047a3-db94-4eba-9604-3092d344f2b9" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
<Properties>
<DisplayName>BuildFeedApp-Full</DisplayName>
<PublisherDisplayName>Thomas</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate"/>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="BuildFeedApp_Full.App">
<uap:VisualElements
DisplayName="BuildFeedApp-Full"
Square150x150Logo="Assets\Square150x150Logo.png"
Square44x44Logo="Assets\Square44x44Logo.png"
Description="BuildFeedApp-Full"
BackgroundColor="transparent">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="BuildFeedApp.App">
<uap:VisualElements DisplayName="BuildFeed" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="BuildFeed is a service which tracks known builds of Microsoft Windows." BackgroundColor="transparent">
<uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png">
</uap:DefaultTile>
<uap:SplashScreen Image="Assets\SplashScreen.png" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>

View File

@ -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<string, ApiCacheEntry> _cache = new Dictionary<string, ApiCacheEntry>();
static ApiCache()
{
//ServicePointManager.DefaultConnectionLimit = 20;
SecondsBeforeStale = 15;
}
/// <summary>
/// Download and parse a JSON document into the specified type
/// </summary>
/// <typeparam name="T">Object that JSON Reperesents</typeparam>
/// <param name="url">The URL that the JSON can be retreived from</param>
/// <returns></returns>
public async static Task<T> GetApi<T>(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<T>(url);
_cache[url] = cat;
return (T)(cat.Value);
}
}
private async static Task<ApiCacheEntry> FetchAPI<T>(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<T>(jr);
}
}
return ret;
}
private async static Task<bool> 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; }
}
}

View File

@ -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
}
}

View File

@ -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": {}

View File

@ -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": []
}