﻿<?xml version="1.0" encoding="utf-8" ?> 
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
  <Application>
    <!-- Support the binding of view models to UI -->
    <Namespace Name="Microsoft.Apps.People.ViewModels" Dynamic="Required Public" />
    
    <!-- Include the types required for managed telemetry. -->
    <Type Name="Microsoft.Apps.People.Logging.LoggerBase" Dynamic="Required Public"/>
    <TypeInstantiation Name="Microsoft.Diagnostics.Tracing.TraceLoggingTypeInfo" Arguments="Ms.Content.PageView" Dynamic="Required Public" />
    <TypeInstantiation Name="Microsoft.Diagnostics.Tracing.TraceLoggingTypeInfo" Arguments="Ms.Content.PageAction" Dynamic="Required Public" />
    <TypeInstantiation Name="Microsoft.Diagnostics.Tracing.TraceLoggingTypeInfo" Arguments="Ms.Content.ScreenStateType" Dynamic="Required Public" />
    <TypeInstantiation Name="Microsoft.Diagnostics.Tracing.TraceLoggingTypeInfo" Arguments="Ms.Content.InputMethodType" Dynamic="Required Public" />
    <TypeInstantiation Name="Microsoft.Diagnostics.Tracing.TraceLoggingTypeInfo" Arguments="Ms.Content.BehaviorType" Dynamic="Required Public" />

    <!-- ILC needs to be aware that custom types are available for reflection. Otherwise, bindings fail. -->
    <Type Name="Microsoft.Apps.People.Common.EditPageFieldInfo" Dynamic="Required Public" />

    <!-- Known types to Suspension Manager (for serialization) -->
    <Type Name="Microsoft.Apps.Common.Utilities.Navigation.NavigationState" DataContractSerializer="Required All" />
    <Type Name="System.Collections.Generic.List{Windows.ApplicationModel.Contacts.ContactFieldType}" DataContractSerializer="Required All" />
    <Type Name="System.Collections.Generic.List{System.String}" DataContractSerializer="Required All" />
    <Type Name="Microsoft.Apps.People.ViewModels.ContactEditPageState" DataContractSerializer="Required All" />
    <Type Name="Microsoft.Apps.People.Common.ContactEditParams" DataContractSerializer="Required All" />
    <Type Name="Microsoft.Apps.People.Common.PeoplePickerParams" DataContractSerializer="Required All" />

  </Application>
</Directives>