Merge remote-tracking branch 'origin/master' into merge/release/2.2-to-master

This commit is contained in:
Justin Kotalik 2019-01-02 12:57:48 -08:00
commit 474f115c1f
12 changed files with 651 additions and 16 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
bin/
obj/
.vs/
.vscode/
*.suo
*.user
_ReSharper.*

View File

@ -106,7 +106,7 @@
<IsSampleProject Condition="$(RepoRelativeProjectDir.Contains('sample'))">true</IsSampleProject>
</PropertyGroup>
<Import Project="build\tasks\RepoTasks.tasks" Condition="'$(MSBuildProjectName)' != 'RepoTasks'" />
<Import Project="build\tasks\RepoTasks.tasks" Condition="'$(MSBuildProjectName)' != 'RepoTasks' AND '$(DesignTimeBuild)' != 'true'" />
<Import Project="eng\Dependencies.props" />
<Import Project="eng\PatchConfig.props" />

View File

@ -242,12 +242,13 @@ elseif ($Projects) {
else {
# When adding new sub-group build flags, add them to this check.
if((-not $Native) -and (-not $Managed) -and (-not $NodeJS) -and (-not $Installers)) {
Write-Warning "No default group of projects was specified, so building the 'managed' subset of projects. Run ``build.cmd -help`` for more details."
Write-Warning "No default group of projects was specified, so building the 'managed' and 'native' subsets of projects. Run ``build.cmd -help`` for more details."
# This goal of this is to pick a sensible default for `build.cmd` with zero arguments.
# We believe the most common thing our contributors will work on is C#, so if no other build group was picked, build the C# projects.
# Now that we support subfolder invokations of build.cmd, we will be pushing to have build.cmd build everything (-all) by default
$Managed = $true
$Native = $true
}
$MSBuildArguments += "/p:BuildManaged=$Managed"

View File

@ -168,14 +168,14 @@
<Move SourceFiles="%(SubmoduleGlobalJsonFiles.BackupPath)" DestinationFiles="%(SubmoduleGlobalJsonFiles.Identity)" Condition="Exists(%(SubmoduleGlobalJsonFiles.BackupPath))" />
<!-- Join required because shipping category is stored in artifact.props (PackageArtifact), but information about package ID and version comes from repos (ArtifactInfo). -->
<RepoTasks.JoinItems
<RepoTasks.JoinRepoItems
Left="@(_Temp)"
LeftMetadata="*"
Right="@(ArtifactInfo->WithMetadataValue('ArtifactType','NuGetPackage'));@(ShippedArtifactInfo->WithMetadataValue('ArtifactType','NuGetPackage'))"
RightKey="PackageId"
RightMetadata="Version">
<Output TaskParameter="JoinResult" ItemName="PackageArtifact" />
</RepoTasks.JoinItems>
</RepoTasks.JoinRepoItems>
<ItemGroup>
<_PackageArtifactWithoutMatchingInfo Include="@(_Temp)" Exclude="@(PackageArtifact)" />

View File

@ -10,7 +10,7 @@ using Microsoft.Build.Utilities;
namespace RepoTasks
{
public class JoinItems : Task
public class JoinRepoItems : Task
{
[Required]
public ITaskItem[] Left { get; set; }

View File

@ -6,7 +6,7 @@
<UsingTask TaskName="RepoTasks.GenerateRestoreSourcesPropsFile" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.GenerateGuid" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.GetMsiProperty" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.JoinItems" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.JoinRepoItems" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.OrderBy" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.GenerateSharedFrameworkMetadataFiles" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.PublishToAzureBlob" AssemblyFile="$(_RepoTaskAssembly)" />

View File

@ -61,13 +61,14 @@ Before opening our .sln files in Visual Studio or VS Code, you need to perform t
1. Executing the following on command-line:
```
.\build.cmd
.\restore.cmd
```
This will download required tools and build the entire repository once. At that point, you should be able to open .sln files to work on the projects you care about.
2. Use the `startvs.cmd` script to open Visual Studio .sln files. This script first sets required environment variables.
> :bulb: Pro tip: you will also want to run this command after pulling large sets of changes. On the master branch, we regularly update the versions of .NET Core SDK required to build the repo.
> You will need to restart Visual Studio every time we update the .NET Core SDK.
> :bulb: Pro tip: you will also want to run this command after pulling large sets of changes. Visual Studio will only build projects in a solution file, and makes a best effort to use other files on disk. If you pull many changes, the files on disk may be stale and will need to re-build.
2. Use the `startvs.cmd` script to open Visual Studio .sln files. This script first sets required environment variables.
### Solution files

View File

@ -121,6 +121,84 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDes
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Performance.Views", "benchmarks\Microsoft.AspNetCore.Mvc.Performance.Views\Microsoft.AspNetCore.Mvc.Performance.Views.csproj", "{9E00C4CA-9CCE-43C8-9D29-CAA0A8D8AC74}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Antiforgery", "..\Antiforgery\src\Microsoft.AspNetCore.Antiforgery.csproj", "{ABF364DD-5415-4234-9C1C-BAE30EE243B2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Abstractions", "..\Http\Authentication.Abstractions\src\Microsoft.AspNetCore.Authentication.Abstractions.csproj", "{46C69B2A-74C3-450B-B19E-EAE15298A6D7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Core", "..\Http\Authentication.Core\src\Microsoft.AspNetCore.Authentication.Core.csproj", "{3BA943A3-EF92-4D2C-A148-2BB18444D548}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authorization", "..\Security\Authorization\Core\src\Microsoft.AspNetCore.Authorization.csproj", "{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authorization.Policy", "..\Security\Authorization\Policy\src\Microsoft.AspNetCore.Authorization.Policy.csproj", "{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Connections.Abstractions", "..\Servers\Connections.Abstractions\src\Microsoft.AspNetCore.Connections.Abstractions.csproj", "{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cors", "..\Middleware\CORS\src\Microsoft.AspNetCore.Cors.csproj", "{C8855927-37B3-44C7-8EAE-B05615EFEF84}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cryptography.Internal", "..\DataProtection\Cryptography.Internal\src\Microsoft.AspNetCore.Cryptography.Internal.csproj", "{46335D95-121F-4B85-8B86-D4BB043CC2CA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection", "..\DataProtection\DataProtection\src\Microsoft.AspNetCore.DataProtection.csproj", "{A60D1892-4080-410D-B069-D023D244A9AC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection.Abstractions", "..\DataProtection\Abstractions\src\Microsoft.AspNetCore.DataProtection.Abstractions.csproj", "{1226FA9A-428C-4911-AC01-15C1AD44A35C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Diagnostics", "..\Middleware\Diagnostics\src\Microsoft.AspNetCore.Diagnostics.csproj", "{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Diagnostics.Abstractions", "..\Middleware\Diagnostics.Abstractions\src\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj", "{875EFC54-B4DE-4814-B272-37BBC1D8E532}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting", "..\Hosting\Hosting\src\Microsoft.AspNetCore.Hosting.csproj", "{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Abstractions", "..\Hosting\Abstractions\src\Microsoft.AspNetCore.Hosting.Abstractions.csproj", "{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Server.Abstractions", "..\Hosting\Server.Abstractions\src\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj", "{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Html.Abstractions", "..\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj", "{612E332E-2522-46E7-816F-4B95B7BEB75E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http", "..\Http\Http\src\Microsoft.AspNetCore.Http.csproj", "{7063C0F0-C924-4304-BF24-1182542B0D8E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Abstractions", "..\Http\Http.Abstractions\src\Microsoft.AspNetCore.Http.Abstractions.csproj", "{D38FE75C-0419-411B-96EB-80334F07103B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Extensions", "..\Http\Http.Extensions\src\Microsoft.AspNetCore.Http.Extensions.csproj", "{22D261EF-670E-44D2-A2C5-4E79414EB10B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Features", "..\Http\Http.Features\src\Microsoft.AspNetCore.Http.Features.csproj", "{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpOverrides", "..\Middleware\HttpOverrides\src\Microsoft.AspNetCore.HttpOverrides.csproj", "{657ED986-9E52-423B-A389-F2FD123B4CC1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.JsonPatch", "..\Features\JsonPatch\src\Microsoft.AspNetCore.JsonPatch.csproj", "{B2242E8F-0A7B-4358-BC29-56745C89E0DE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Localization", "..\Middleware\Localization\src\Microsoft.AspNetCore.Localization.csproj", "{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor", "..\Razor\Razor\src\Microsoft.AspNetCore.Razor.csproj", "{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Runtime", "..\Razor\Razor.Runtime\src\Microsoft.AspNetCore.Razor.Runtime.csproj", "{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCaching", "..\Middleware\ResponseCaching\src\Microsoft.AspNetCore.ResponseCaching.csproj", "{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCaching.Abstractions", "..\Middleware\ResponseCaching.Abstractions\src\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj", "{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing", "..\Http\Routing\src\Microsoft.AspNetCore.Routing.csproj", "{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Abstractions", "..\Http\Routing.Abstractions\src\Microsoft.AspNetCore.Routing.Abstractions.csproj", "{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "..\Servers\IIS\src\Microsoft.AspNetCore.Server.IISIntegration\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{B627BF08-39D1-4B38-B546-BFB98E0F5916}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel", "..\Servers\Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj", "{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Core", "..\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj", "{138F8243-B512-4FA9-9E3C-ABF5297C7092}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions", "..\Servers\Kestrel\Transport.Abstractions\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj", "{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets", "..\Servers\Kestrel\Transport.Sockets\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj", "{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.StaticFiles", "..\Middleware\StaticFiles\src\Microsoft.AspNetCore.StaticFiles.csproj", "{512F4020-4841-4CDA-BFDA-1AF63B7678BB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.TestHost", "..\Hosting\TestHost\src\Microsoft.AspNetCore.TestHost.csproj", "{6B19EA89-C2B7-4625-8931-C7B459A54C16}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebUtilities", "..\Http\WebUtilities\src\Microsoft.AspNetCore.WebUtilities.csproj", "{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Http.Headers", "..\Http\Headers\src\Microsoft.Net.Http.Headers.csproj", "{C87F83AE-2B23-477C-A577-0DB77191F254}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -607,6 +685,462 @@ Global
{9E00C4CA-9CCE-43C8-9D29-CAA0A8D8AC74}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{9E00C4CA-9CCE-43C8-9D29-CAA0A8D8AC74}.Release|x86.ActiveCfg = Release|Any CPU
{9E00C4CA-9CCE-43C8-9D29-CAA0A8D8AC74}.Release|x86.Build.0 = Release|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Debug|x86.ActiveCfg = Debug|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Debug|x86.Build.0 = Debug|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Release|Any CPU.Build.0 = Release|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Release|x86.ActiveCfg = Release|Any CPU
{C87F83AE-2B23-477C-A577-0DB77191F254}.Release|x86.Build.0 = Release|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Debug|x86.ActiveCfg = Debug|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Debug|x86.Build.0 = Debug|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Release|Any CPU.Build.0 = Release|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Release|x86.ActiveCfg = Release|Any CPU
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F}.Release|x86.Build.0 = Release|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Debug|x86.ActiveCfg = Debug|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Debug|x86.Build.0 = Debug|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Release|Any CPU.Build.0 = Release|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Release|x86.ActiveCfg = Release|Any CPU
{22D261EF-670E-44D2-A2C5-4E79414EB10B}.Release|x86.Build.0 = Release|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Debug|x86.ActiveCfg = Debug|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Debug|x86.Build.0 = Debug|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Release|Any CPU.Build.0 = Release|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Release|x86.ActiveCfg = Release|Any CPU
{3BA943A3-EF92-4D2C-A148-2BB18444D548}.Release|x86.Build.0 = Release|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Debug|x86.ActiveCfg = Debug|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Debug|x86.Build.0 = Debug|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Release|Any CPU.Build.0 = Release|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Release|x86.ActiveCfg = Release|Any CPU
{7063C0F0-C924-4304-BF24-1182542B0D8E}.Release|x86.Build.0 = Release|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Debug|x86.ActiveCfg = Debug|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Debug|x86.Build.0 = Debug|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Release|Any CPU.Build.0 = Release|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Release|x86.ActiveCfg = Release|Any CPU
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D}.Release|x86.Build.0 = Release|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Debug|x86.ActiveCfg = Debug|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Debug|x86.Build.0 = Debug|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Release|Any CPU.Build.0 = Release|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Release|x86.ActiveCfg = Release|Any CPU
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2}.Release|x86.Build.0 = Release|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Debug|x86.ActiveCfg = Debug|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Debug|x86.Build.0 = Debug|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Release|Any CPU.Build.0 = Release|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Release|x86.ActiveCfg = Release|Any CPU
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2}.Release|x86.Build.0 = Release|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Debug|x86.ActiveCfg = Debug|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Debug|x86.Build.0 = Debug|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Release|Any CPU.Build.0 = Release|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Release|x86.ActiveCfg = Release|Any CPU
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A}.Release|x86.Build.0 = Release|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Debug|x86.ActiveCfg = Debug|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Debug|x86.Build.0 = Debug|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Release|Any CPU.Build.0 = Release|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Release|x86.ActiveCfg = Release|Any CPU
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D}.Release|x86.Build.0 = Release|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Debug|x86.ActiveCfg = Debug|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Debug|x86.Build.0 = Debug|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Release|Any CPU.Build.0 = Release|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Release|x86.ActiveCfg = Release|Any CPU
{D38FE75C-0419-411B-96EB-80334F07103B}.Release|x86.Build.0 = Release|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Debug|x86.ActiveCfg = Debug|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Debug|x86.Build.0 = Debug|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Release|Any CPU.Build.0 = Release|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Release|x86.ActiveCfg = Release|Any CPU
{ABF364DD-5415-4234-9C1C-BAE30EE243B2}.Release|x86.Build.0 = Release|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Debug|x86.ActiveCfg = Debug|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Debug|x86.Build.0 = Debug|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Release|Any CPU.Build.0 = Release|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Release|x86.ActiveCfg = Release|Any CPU
{B2242E8F-0A7B-4358-BC29-56745C89E0DE}.Release|x86.Build.0 = Release|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Debug|x86.ActiveCfg = Debug|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Debug|x86.Build.0 = Debug|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Release|Any CPU.Build.0 = Release|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Release|x86.ActiveCfg = Release|Any CPU
{6B19EA89-C2B7-4625-8931-C7B459A54C16}.Release|x86.Build.0 = Release|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Debug|x86.ActiveCfg = Debug|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Debug|x86.Build.0 = Debug|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Release|Any CPU.Build.0 = Release|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Release|x86.ActiveCfg = Release|Any CPU
{612E332E-2522-46E7-816F-4B95B7BEB75E}.Release|x86.Build.0 = Release|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Debug|x86.ActiveCfg = Debug|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Debug|x86.Build.0 = Debug|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Release|Any CPU.Build.0 = Release|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Release|x86.ActiveCfg = Release|Any CPU
{46C69B2A-74C3-450B-B19E-EAE15298A6D7}.Release|x86.Build.0 = Release|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Debug|x86.ActiveCfg = Debug|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Debug|x86.Build.0 = Debug|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Release|Any CPU.Build.0 = Release|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Release|x86.ActiveCfg = Release|Any CPU
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84}.Release|x86.Build.0 = Release|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Debug|x86.ActiveCfg = Debug|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Debug|x86.Build.0 = Debug|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Release|Any CPU.Build.0 = Release|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Release|x86.ActiveCfg = Release|Any CPU
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C}.Release|x86.Build.0 = Release|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Debug|x86.ActiveCfg = Debug|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Debug|x86.Build.0 = Debug|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Release|Any CPU.Build.0 = Release|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Release|x86.ActiveCfg = Release|Any CPU
{C8855927-37B3-44C7-8EAE-B05615EFEF84}.Release|x86.Build.0 = Release|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Debug|Any CPU.Build.0 = Debug|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Debug|x86.ActiveCfg = Debug|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Debug|x86.Build.0 = Debug|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Release|Any CPU.ActiveCfg = Release|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Release|Any CPU.Build.0 = Release|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Release|x86.ActiveCfg = Release|Any CPU
{875EFC54-B4DE-4814-B272-37BBC1D8E532}.Release|x86.Build.0 = Release|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Debug|x86.ActiveCfg = Debug|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Debug|x86.Build.0 = Debug|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Release|Any CPU.Build.0 = Release|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Release|x86.ActiveCfg = Release|Any CPU
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4}.Release|x86.Build.0 = Release|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Debug|x86.ActiveCfg = Debug|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Debug|x86.Build.0 = Debug|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Release|Any CPU.Build.0 = Release|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Release|x86.ActiveCfg = Release|Any CPU
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB}.Release|x86.Build.0 = Release|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Debug|x86.ActiveCfg = Debug|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Debug|x86.Build.0 = Debug|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Release|Any CPU.Build.0 = Release|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Release|x86.ActiveCfg = Release|Any CPU
{512F4020-4841-4CDA-BFDA-1AF63B7678BB}.Release|x86.Build.0 = Release|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Debug|x86.ActiveCfg = Debug|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Debug|x86.Build.0 = Debug|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Release|Any CPU.Build.0 = Release|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Release|x86.ActiveCfg = Release|Any CPU
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8}.Release|x86.Build.0 = Release|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Debug|x86.ActiveCfg = Debug|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Debug|x86.Build.0 = Debug|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Release|Any CPU.Build.0 = Release|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Release|x86.ActiveCfg = Release|Any CPU
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678}.Release|x86.Build.0 = Release|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Debug|x86.ActiveCfg = Debug|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Debug|x86.Build.0 = Debug|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Release|Any CPU.Build.0 = Release|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Release|x86.ActiveCfg = Release|Any CPU
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3}.Release|x86.Build.0 = Release|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Debug|x86.ActiveCfg = Debug|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Debug|x86.Build.0 = Debug|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Release|Any CPU.Build.0 = Release|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Release|x86.ActiveCfg = Release|Any CPU
{B627BF08-39D1-4B38-B546-BFB98E0F5916}.Release|x86.Build.0 = Release|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Debug|x86.ActiveCfg = Debug|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Debug|x86.Build.0 = Debug|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Release|Any CPU.Build.0 = Release|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Release|x86.ActiveCfg = Release|Any CPU
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4}.Release|x86.Build.0 = Release|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Debug|x86.ActiveCfg = Debug|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Debug|x86.Build.0 = Debug|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Release|Any CPU.Build.0 = Release|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Release|x86.ActiveCfg = Release|Any CPU
{A60D1892-4080-410D-B069-D023D244A9AC}.Release|x86.Build.0 = Release|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Debug|x86.ActiveCfg = Debug|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Debug|x86.Build.0 = Debug|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Release|Any CPU.Build.0 = Release|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Release|x86.ActiveCfg = Release|Any CPU
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6}.Release|x86.Build.0 = Release|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Debug|x86.ActiveCfg = Debug|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Debug|x86.Build.0 = Debug|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Release|Any CPU.Build.0 = Release|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Release|x86.ActiveCfg = Release|Any CPU
{657ED986-9E52-423B-A389-F2FD123B4CC1}.Release|x86.Build.0 = Release|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Debug|x86.ActiveCfg = Debug|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Debug|x86.Build.0 = Debug|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Release|Any CPU.Build.0 = Release|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Release|x86.ActiveCfg = Release|Any CPU
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7}.Release|x86.Build.0 = Release|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Debug|Any CPU.Build.0 = Debug|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Debug|x86.ActiveCfg = Debug|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Debug|x86.Build.0 = Debug|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Release|Any CPU.ActiveCfg = Release|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Release|Any CPU.Build.0 = Release|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Release|x86.ActiveCfg = Release|Any CPU
{138F8243-B512-4FA9-9E3C-ABF5297C7092}.Release|x86.Build.0 = Release|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Debug|x86.ActiveCfg = Debug|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Debug|x86.Build.0 = Debug|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Release|Any CPU.Build.0 = Release|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Release|x86.ActiveCfg = Release|Any CPU
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1}.Release|x86.Build.0 = Release|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Debug|x86.ActiveCfg = Debug|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Debug|x86.Build.0 = Debug|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Release|Any CPU.Build.0 = Release|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Release|x86.ActiveCfg = Release|Any CPU
{1226FA9A-428C-4911-AC01-15C1AD44A35C}.Release|x86.Build.0 = Release|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Debug|x86.ActiveCfg = Debug|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Debug|x86.Build.0 = Debug|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Release|Any CPU.Build.0 = Release|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Release|x86.ActiveCfg = Release|Any CPU
{46335D95-121F-4B85-8B86-D4BB043CC2CA}.Release|x86.Build.0 = Release|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Debug|x86.ActiveCfg = Debug|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Debug|x86.Build.0 = Debug|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Release|Any CPU.Build.0 = Release|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Release|x86.ActiveCfg = Release|Any CPU
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C}.Release|x86.Build.0 = Release|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Debug|x86.ActiveCfg = Debug|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Debug|x86.Build.0 = Debug|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Release|Any CPU.Build.0 = Release|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Release|x86.ActiveCfg = Release|Any CPU
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -653,6 +1187,44 @@ Global
{2F683CF8-B055-46AE-BF83-9D1307F8D45F} = {32285FA4-6B46-4D6B-A840-2B13E4C8B58E}
{34E3C302-B767-40C8-B538-3EE2BD4000C4} = {32285FA4-6B46-4D6B-A840-2B13E4C8B58E}
{9E00C4CA-9CCE-43C8-9D29-CAA0A8D8AC74} = {44546170-35BF-448F-88F5-4331AE67AEAE}
{C87F83AE-2B23-477C-A577-0DB77191F254} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{D794C2D1-47CD-4C46-8272-62DF0FF8DC4F} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{22D261EF-670E-44D2-A2C5-4E79414EB10B} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{3BA943A3-EF92-4D2C-A148-2BB18444D548} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{7063C0F0-C924-4304-BF24-1182542B0D8E} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{EE8BF3E0-7898-41B7-9C26-21AA2DF4018D} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{AEFC291E-9FAB-4C8C-BE29-4CB8F2D04EE2} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{2D42D033-14A6-4374-880F-F7CBDEEFE6D2} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{4AA9A6DF-8A9D-41E2-916A-D970C63E357A} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{20934FC5-8C76-4A0B-AC94-D23BBFD1601D} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{D38FE75C-0419-411B-96EB-80334F07103B} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{ABF364DD-5415-4234-9C1C-BAE30EE243B2} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{B2242E8F-0A7B-4358-BC29-56745C89E0DE} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{6B19EA89-C2B7-4625-8931-C7B459A54C16} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{612E332E-2522-46E7-816F-4B95B7BEB75E} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{46C69B2A-74C3-450B-B19E-EAE15298A6D7} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{A2D75DA1-833A-4A60-9FD3-41E8EC8A3F84} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{383E2848-7F99-4BAF-AA0D-FA5C5DC5D36C} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{C8855927-37B3-44C7-8EAE-B05615EFEF84} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{875EFC54-B4DE-4814-B272-37BBC1D8E532} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{F19EBFB6-6E37-4050-B228-6CDF6C2ECAB4} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{C9FBFD93-BF2C-4BAB-B143-FC4F4C8332AB} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{512F4020-4841-4CDA-BFDA-1AF63B7678BB} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{C051E05C-77FD-4CDE-8E1F-2A51A872BFC8} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{6EF4D17E-D0E4-42E6-895A-67F2F55B4678} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{8073C2B6-32E3-4D4E-8BAE-7E7CBF7DE9C3} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{B627BF08-39D1-4B38-B546-BFB98E0F5916} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{4B42670E-9AD5-4D4D-BF70-295BC2B474D4} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{A60D1892-4080-410D-B069-D023D244A9AC} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{7ECD6FBB-509E-41EA-8E1D-72AF53F774F6} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{657ED986-9E52-423B-A389-F2FD123B4CC1} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{36BBC92A-539F-4A5C-9215-D72A2B8F73C7} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{138F8243-B512-4FA9-9E3C-ABF5297C7092} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{FE319B31-4267-43D0-A3E2-3857E4F1EDB1} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{1226FA9A-428C-4911-AC01-15C1AD44A35C} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{46335D95-121F-4B85-8B86-D4BB043CC2CA} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{FC5C9C4D-E3C4-438A-9F2A-E2DC92384E7C} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
{7DFCACDC-E9BE-47BA-B86D-B13887BE9A78} = {EA60D8DE-3F18-4A70-A098-F35D4A8D7BF4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D003597F-372F-4068-A2F0-353BE3C3B39A}

View File

@ -160,7 +160,7 @@ namespace Microsoft.AspNetCore.Mvc.Api.Analyzers
internal static IReadOnlyList<ITypeSymbol> GetConventionTypes(in ApiControllerSymbolCache symbolCache, IMethodSymbol method)
{
var attributes = method.ContainingType.GetAttributes(symbolCache.ApiConventionTypeAttribute).ToArray();
var attributes = method.ContainingType.GetAttributes(symbolCache.ApiConventionTypeAttribute, inherit: true).ToArray();
if (attributes.Length == 0)
{
attributes = method.ContainingAssembly.GetAttributes(symbolCache.ApiConventionTypeAttribute).ToArray();

View File

@ -290,6 +290,50 @@ namespace Microsoft.AspNetCore.Mvc.Api.Analyzers
});
}
[Fact]
public async Task GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnType_Works()
{
// Arrange
var type = typeof(GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnType);
var compilation = await GetResponseMetadataCompilation();
var controller = compilation.GetTypeByMetadataName(type.FullName);
var method = (IMethodSymbol)controller.GetMembers().First();
var symbolCache = new ApiControllerSymbolCache(compilation);
// Act
var result = SymbolApiResponseMetadataProvider.GetDeclaredResponseMetadata(symbolCache, method);
// Assert
// We should expect 3 entries specified by DefaultApiConventions.Post
Assert.Collection(
result.OrderBy(r => r.StatusCode),
metadata => Assert.True(metadata.IsDefault),
metadata => Assert.Equal(201, metadata.StatusCode),
metadata => Assert.Equal(400, metadata.StatusCode));
}
[Fact]
public async Task GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnBaseType_Works()
{
// Arrange
var type = typeof(GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnBaseType);
var compilation = await GetResponseMetadataCompilation();
var controller = compilation.GetTypeByMetadataName(type.FullName);
var method = (IMethodSymbol)controller.GetMembers().First();
var symbolCache = new ApiControllerSymbolCache(compilation);
// Act
var result = SymbolApiResponseMetadataProvider.GetDeclaredResponseMetadata(symbolCache, method);
// Assert
// We should expect 3 entries specified by DefaultApiConventions.Post
Assert.Collection(
result.OrderBy(r => r.StatusCode),
metadata => Assert.True(metadata.IsDefault),
metadata => Assert.Equal(201, metadata.StatusCode),
metadata => Assert.Equal(400, metadata.StatusCode));
}
[Fact]
public Task GetStatusCode_ReturnsValueFromConstructor()
{

View File

@ -90,4 +90,20 @@ namespace Microsoft.AspNetCore.Mvc.Api.Analyzers
}
}
}
[ApiConventionType(typeof(DefaultApiConventions))]
public class GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnType : Controller
{
public IActionResult Post(object model) => null;
}
[ApiConventionType(typeof(DefaultApiConventions))]
public class GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnBaseTypeBase
{
}
public class GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnBaseType : GetDeclaredResponseMetadata_ApiConventionTypeAttributeOnBaseTypeBase
{
public IActionResult Post(object model) => null;
}
}

View File

@ -17,11 +17,6 @@ SET PATH=%DOTNET_ROOT%;%PATH%
SET sln=%1
IF NOT EXIST "%DOTNET_ROOT%\dotnet.exe" (
echo .NET Core has not yet been installed. Run `build.cmd -restore` to install tools
exit /b 1
)
IF "%sln%"=="" (
echo Error^: Expected argument ^<SLN_FILE^>
echo Usage^: startvs.cmd ^<SLN_FILE^>
@ -29,4 +24,9 @@ IF "%sln%"=="" (
exit /b 1
)
IF NOT EXIST "%DOTNET_ROOT%\dotnet.exe" (
echo .NET Core has not yet been installed. Run `%~dp0restore.cmd` to install tools
exit /b 1
)
start %sln%