Fixed compilation errors and metadata for several controls

This commit is contained in:
Morten Nielsen 2017-09-21 23:28:47 -07:00
Родитель 43c929f2ee
Коммит e53b066910
12 изменённых файлов: 340 добавлений и 49 удалений

Просмотреть файл

@ -0,0 +1,53 @@
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************
using Microsoft.Toolkit.Uwp.UI.Controls.Design.Common;
using Microsoft.Windows.Design;
using Microsoft.Windows.Design.Features;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Windows.Design.Model;
using Microsoft.Windows.Design.PropertyEditing;
using System.ComponentModel;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design
{
internal class CustomDialogMetadata : AttributeTableBuilder
{
public CustomDialogMetadata()
: base()
{
AddCallback(typeof(AdaptiveGridView),
b =>
{
b.AddCustomAttributes(nameof(AdaptiveGridView.DesiredWidth),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(AdaptiveGridView.ItemHeight),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(AdaptiveGridView.OneRowModeEnabled),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(AdaptiveGridView.StretchContentForSingleRow),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(AdaptiveGridView.ItemClickCommand),
new EditorBrowsableAttribute(EditorBrowsableState.Advanced),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(new ToolboxCategoryAttribute(ToolboxCategoryPaths.Toolkit, false));
}
);
}
}
}

Просмотреть файл

@ -0,0 +1,56 @@
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************
using Microsoft.Toolkit.Uwp.UI.Controls.Design.Common;
using Microsoft.Windows.Design;
using Microsoft.Windows.Design.Features;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Windows.Design.Model;
using Microsoft.Windows.Design.PropertyEditing;
using System.ComponentModel;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design
{
internal class BladeItemMetadata : AttributeTableBuilder
{
public BladeItemMetadata()
: base()
{
AddCallback(typeof(BladeItem),
b =>
{
b.AddCustomAttributes(nameof(BladeItem.TitleBarVisibility),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(BladeItem.Title),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(BladeItem.IsOpen),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(BladeItem.TitleBarBackground),
new CategoryAttribute(Properties.Resources.CategoryBrush)
);
b.AddCustomAttributes(nameof(BladeItem.CloseButtonBackground),
new CategoryAttribute(Properties.Resources.CategoryBrush)
);
b.AddCustomAttributes(nameof(BladeItem.CloseButtonForeground),
new CategoryAttribute(Properties.Resources.CategoryBrush)
);
b.AddCustomAttributes(new ToolboxCategoryAttribute(ToolboxCategoryPaths.Toolkit, false));
}
);
}
}
}

Просмотреть файл

@ -0,0 +1,56 @@
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************
using Microsoft.Toolkit.Uwp.UI.Controls.Design.Common;
using Microsoft.Windows.Design;
using Microsoft.Windows.Design.Features;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Windows.Design.Model;
using Microsoft.Windows.Design.PropertyEditing;
using System.ComponentModel;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design
{
internal class BladeViewMetadata : AttributeTableBuilder
{
public BladeViewMetadata()
: base()
{
AddCallback(typeof(BladeView),
b =>
{
b.AddCustomAttributes(nameof(BladeView.ActiveBlades),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(BladeView.BladeMode),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(BladeView.AutoCollapseCountThreshold),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(BladeView.Items),
new PropertyOrderAttribute(PropertyOrder.Early),
new CategoryAttribute(Properties.Resources.CategoryCommon),
//The following is necessary because this is a collection of an abstract type, so we help
//the designer with populating supported types that can be added to the collection
new NewItemTypesAttribute(new System.Type[] {
typeof(BladeItem),
}),
new AlternateContentPropertyAttribute()
);
b.AddCustomAttributes(new ToolboxCategoryAttribute(ToolboxCategoryPaths.Toolkit, false));
}
);
}
}
}

Просмотреть файл

@ -21,11 +21,14 @@ using System.Linq;
using System.Reflection;
using System.Xml.Linq;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design.Common
namespace Microsoft.Toolkit.Uwp.Design.Common
{
public class MetadataRegistrationBase
{
AttributeTable masterMetadataTable;
private AttributeTable masterMetadataTable;
internal MetadataRegistrationBase() { }
/// <summary>
/// Build design time metadata attribute table.
/// </summary>
@ -131,7 +134,7 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls.Design.Common
Type t = Type.GetType(typeName);
if (t != null && t.IsPublic && t.IsClass &&
t.IsSubclassOf(Microsoft.Toolkit.Uwp.UI.Controls.Design.Types.PlatformTypes.DependencyObjectType))
t.IsSubclassOf(Types.PlatformTypes.DependencyObjectType))
{
string desc = ParseDescription(member);
if (desc == null)
@ -185,20 +188,20 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls.Design.Common
}
private static bool IsBrowsable(Type t)
{
var attrs = t.GetCustomAttributes(Microsoft.Toolkit.Uwp.UI.Controls.Design.Types.PlatformTypes.EditorBrowsableAttributeType, false);
var attrs = t.GetCustomAttributes(Types.PlatformTypes.EditorBrowsableAttributeType, false);
foreach (var attr in attrs)
{
return Microsoft.Toolkit.Uwp.UI.Controls.Design.Types.PlatformTypes.IsBrowsable(attr);
return Types.PlatformTypes.IsBrowsable(attr);
}
return true;
}
private static bool IsBrowsable(System.Reflection.PropertyInfo pi)
{
var attrs = pi.GetCustomAttributes(Microsoft.Toolkit.Uwp.UI.Controls.Design.Types.PlatformTypes.EditorBrowsableAttributeType, false);
var attrs = pi.GetCustomAttributes(Types.PlatformTypes.EditorBrowsableAttributeType, false);
foreach (var attr in attrs)
{
return Microsoft.Toolkit.Uwp.UI.Controls.Design.Types.PlatformTypes.IsBrowsable(attr);
return Types.PlatformTypes.IsBrowsable(attr);
}
return true;
}

Просмотреть файл

@ -14,9 +14,9 @@ using System;
using Microsoft.Windows.Design.Metadata;
using Windows.UI.Xaml;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design.Types
namespace Microsoft.Toolkit.Uwp.Design.Types
{
public class PlatformTypes
internal class PlatformTypes
{
public static readonly Type DependencyObjectType = typeof(DependencyObject);
public static readonly Type UIElementType = typeof(UIElement);

Просмотреть файл

@ -0,0 +1,66 @@
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************
using Microsoft.Toolkit.Uwp.UI.Controls.Design.Common;
using Microsoft.Windows.Design;
using Microsoft.Windows.Design.Features;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Windows.Design.Model;
using Microsoft.Windows.Design.PropertyEditing;
using System.ComponentModel;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design
{
internal class DropShadowPanelDefaults : DefaultInitializer
{
public override void InitializeDefaults(ModelItem item)
{
item.Properties[nameof(DropShadowPanel.BlurRadius)].SetValue(5d);
}
}
internal class DropShadowPanelMetadata : AttributeTableBuilder
{
public DropShadowPanelMetadata()
: base()
{
AddCallback(typeof(DropShadowPanel),
b =>
{
b.AddCustomAttributes(new FeatureAttribute(typeof(DropShadowPanelDefaults)));
b.AddCustomAttributes(nameof(DropShadowPanel.BlurRadius),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(DropShadowPanel.Color),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(DropShadowPanel.OffsetX),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(DropShadowPanel.OffsetY),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(DropShadowPanel.OffsetZ),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(DropShadowPanel.ShadowOpacity),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(new ToolboxCategoryAttribute(ToolboxCategoryPaths.Toolkit, false));
}
);
}
}
}

Просмотреть файл

@ -0,0 +1,59 @@
// ******************************************************************
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE CODE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE CODE OR THE USE OR OTHER DEALINGS IN THE CODE.
// ******************************************************************
using Microsoft.Toolkit.Uwp.UI.Controls.Design.Common;
using Microsoft.Windows.Design;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Windows.Design.PropertyEditing;
using System.ComponentModel;
namespace Microsoft.Toolkit.Uwp.UI.Controls.Design
{
internal class MenuItemMetadata : AttributeTableBuilder
{
public MenuItemMetadata()
: base()
{
#pragma warning disable 0618 //Ignore obsolete warning
AddCallback(typeof(MenuItem),
#pragma warning restore 0618
b =>
{
b.AddCustomAttributes(nameof(MenuItem.Header),
new PropertyOrderAttribute(PropertyOrder.Early),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(MenuItem.IsOpened),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(MenuItem.HeaderTemplate),
new EditorBrowsableAttribute(EditorBrowsableState.Advanced),
new CategoryAttribute(Properties.Resources.CategoryCommon)
);
b.AddCustomAttributes(nameof(MenuItem.Items),
new PropertyOrderAttribute(PropertyOrder.Early),
new CategoryAttribute(Properties.Resources.CategoryCommon),
//The following is necessary because this is a collection of an abstract type, so we help
//the designer with populating supported types that can be added to the collection
new NewItemTypesAttribute(new System.Type[] {
typeof(MenuItem),
}),
new AlternateContentPropertyAttribute()
);
b.AddCustomAttributes(new ToolboxCategoryAttribute(ToolboxCategoryPaths.Toolkit, false));
b.AddCustomAttributes(new ToolboxBrowsableAttribute(false));
}
);
}
}
}

Просмотреть файл

@ -34,9 +34,7 @@ namespace Microsoft.Toolkit.Uwp.UI.Controls.Design
//The following is necessary because this is a collection of an abstract type, so we help
//the designer with populating supported types that can be added to the collection
new NewItemTypesAttribute(new System.Type[] {
#pragma warning disable 0618 //Ignore obsolete warning
typeof(Microsoft.Toolkit.Uwp.UI.Controls.MenuItem),
#pragma warning restore 0618
typeof(MenuItem),
}),
new AlternateContentPropertyAttribute()
);

Просмотреть файл

@ -13,7 +13,7 @@
using System;
using System.Reflection;
using Microsoft.Windows.Design.Metadata;
using Microsoft.Toolkit.Uwp.UI.Controls.Design.Common;
using Microsoft.Toolkit.Uwp.Design.Common;
[assembly: ProvideMetadata(typeof(Microsoft.Toolkit.Uwp.UI.Controls.Design.MetadataRegistration))]

Просмотреть файл

@ -3,7 +3,7 @@
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
@ -13,28 +13,32 @@
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup>
<WindowsSdkVersion>10.0</WindowsSdkVersion>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetPlatformVersion>8.1</TargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System.Runtime" />
<Reference Include="System.ObjectModel" />
<Reference Include="System.Runtime.WindowsRuntime" />
<Reference Include="System.Runtime.InteropServices.WindowsRuntime" />
<Reference Include="Microsoft.Toolkit.Uwp.UI.Controls">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Microsoft.Toolkit.Uwp.UI.Controls\bin\$(Configuration)\uap10.0\Microsoft.Toolkit.Uwp.UI.Controls.dll</HintPath>
</Reference>
<Reference Include="Windows.winmd">
<IsWinMDFile>true</IsWinMDFile>
<Private>False</Private>
@ -72,6 +76,11 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="BladeItemMetadata.cs" />
<Compile Include="BladeViewMetadata.cs" />
<Compile Include="DropShadowPanelMetadata.cs" />
<Compile Include="AdaptiveGridViewMetadata.cs" />
<Compile Include="MenuItemMetadata.cs" />
<Compile Include="MenuMetadata.cs" />
<Compile Include="MetadataRegistration.cs" />
<Compile Include="Common\MetadataRegistrationBase.cs" />
@ -101,14 +110,7 @@
<AppDesigner Include="Properties\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Microsoft.Toolkit.Uwp.UI.Controls\Microsoft.Toolkit.Uwp.UI.Controls.csproj">
<Project>{e9faabfb-d726-42c1-83c1-cb46a29fea81}</Project>
<Name>Microsoft.Toolkit.Uwp.UI.Controls</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\..\Microsoft.Toolkit.Uwp.UI.Controls\bin\$(Configuration)\uap10.0\Microsoft.Toolkit.Uwp.UI.Controls.xml">
<EmbeddedResource Include="..\Microsoft.Toolkit.Uwp.UI.Controls\bin\$(Configuration)\uap10.0\Microsoft.Toolkit.Uwp.UI.Controls.xml">
<Link>Microsoft.Toolkit.Uwp.UI.Controls.xml</Link>
<SubType>Designer</SubType>
</EmbeddedResource>

Просмотреть файл

@ -42,17 +42,6 @@ using System.Windows;
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
[assembly:ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
// Version information for an assembly consists of the following four values:
//
// Major Version

Просмотреть файл

@ -61,6 +61,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Toolkit.Uwp.Notif
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Toolkit.Uwp.UI.Controls.Design", "Microsoft.Toolkit.Uwp.UI.Controls.Design\Microsoft.Toolkit.Uwp.UI.Controls.Design.csproj", "{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}"
ProjectSection(ProjectDependencies) = postProject
{E9FAABFB-D726-42C1-83C1-CB46A29FEA81} = {E9FAABFB-D726-42C1-83C1-CB46A29FEA81}
EndProjectSection
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
@ -371,16 +374,22 @@ Global
{94F8D702-3A9D-4CFB-85C9-79FC5DBD8B22}.Release|x64.Build.0 = Release|Any CPU
{94F8D702-3A9D-4CFB-85C9-79FC5DBD8B22}.Release|x86.ActiveCfg = Release|Any CPU
{94F8D702-3A9D-4CFB-85C9-79FC5DBD8B22}.Release|x86.Build.0 = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|Any CPU.ActiveCfg = Debug|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|ARM.ActiveCfg = Debug|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x64.ActiveCfg = Debug|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x86.ActiveCfg = Debug|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x86.Build.0 = Debug|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|Any CPU.ActiveCfg = Release|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|ARM.ActiveCfg = Release|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x64.ActiveCfg = Release|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x86.ActiveCfg = Release|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x86.Build.0 = Release|x86
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|ARM.Build.0 = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x64.ActiveCfg = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x64.Build.0 = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x86.ActiveCfg = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Debug|x86.Build.0 = Debug|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|Any CPU.Build.0 = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|ARM.ActiveCfg = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|ARM.Build.0 = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x64.ActiveCfg = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x64.Build.0 = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x86.ActiveCfg = Release|Any CPU
{7AEFC959-ED7C-4D96-9E92-72609B40FBE0}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE