diff --git a/.gitignore b/.gitignore
index ac23b44637..6d3c5c15c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
bin/
obj/
.vs/
+.vscode/
*.suo
*.user
_ReSharper.*
diff --git a/Directory.Build.props b/Directory.Build.props
index e255df9e9a..3b0e6e9dd3 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -106,7 +106,7 @@
true
-
+
diff --git a/build.ps1 b/build.ps1
index cf66e3eacd..ed9e96583c 100644
--- a/build.ps1
+++ b/build.ps1
@@ -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"
diff --git a/build/repo.targets b/build/repo.targets
index 150edb552e..6e4b31e51b 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -168,14 +168,14 @@
-
-
+
<_PackageArtifactWithoutMatchingInfo Include="@(_Temp)" Exclude="@(PackageArtifact)" />
diff --git a/build/tasks/JoinItems.cs b/build/tasks/JoinRepoItems.cs
similarity index 99%
rename from build/tasks/JoinItems.cs
rename to build/tasks/JoinRepoItems.cs
index facfd4fa53..97f0ab9d0f 100644
--- a/build/tasks/JoinItems.cs
+++ b/build/tasks/JoinRepoItems.cs
@@ -10,7 +10,7 @@ using Microsoft.Build.Utilities;
namespace RepoTasks
{
- public class JoinItems : Task
+ public class JoinRepoItems : Task
{
[Required]
public ITaskItem[] Left { get; set; }
diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks
index 17919c3e90..43323cf2e2 100644
--- a/build/tasks/RepoTasks.tasks
+++ b/build/tasks/RepoTasks.tasks
@@ -6,7 +6,7 @@
-
+
diff --git a/docs/BuildFromSource.md b/docs/BuildFromSource.md
index c13d20ec92..001b1c2206 100644
--- a/docs/BuildFromSource.md
+++ b/docs/BuildFromSource.md
@@ -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
diff --git a/src/Mvc/Mvc.NoFun.sln b/src/Mvc/Mvc.NoFun.sln
index 95fa410bcc..2a17a7db85 100644
--- a/src/Mvc/Mvc.NoFun.sln
+++ b/src/Mvc/Mvc.NoFun.sln
@@ -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}
diff --git a/src/Mvc/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/SymbolApiResponseMetadataProvider.cs b/src/Mvc/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/SymbolApiResponseMetadataProvider.cs
index 2be586958d..9b6a1b759c 100644
--- a/src/Mvc/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/SymbolApiResponseMetadataProvider.cs
+++ b/src/Mvc/src/Microsoft.AspNetCore.Mvc.Api.Analyzers/SymbolApiResponseMetadataProvider.cs
@@ -160,7 +160,7 @@ namespace Microsoft.AspNetCore.Mvc.Api.Analyzers
internal static IReadOnlyList 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();
diff --git a/src/Mvc/test/Mvc.Api.Analyzers.Test/SymbolApiResponseMetadataProviderTest.cs b/src/Mvc/test/Mvc.Api.Analyzers.Test/SymbolApiResponseMetadataProviderTest.cs
index 57d823e8c6..d93a2ee158 100644
--- a/src/Mvc/test/Mvc.Api.Analyzers.Test/SymbolApiResponseMetadataProviderTest.cs
+++ b/src/Mvc/test/Mvc.Api.Analyzers.Test/SymbolApiResponseMetadataProviderTest.cs
@@ -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()
{
diff --git a/src/Mvc/test/Mvc.Api.Analyzers.Test/TestFiles/SymbolApiResponseMetadataProviderTest/GetResponseMetadataTests.cs b/src/Mvc/test/Mvc.Api.Analyzers.Test/TestFiles/SymbolApiResponseMetadataProviderTest/GetResponseMetadataTests.cs
index 389617609b..d0728bbef3 100644
--- a/src/Mvc/test/Mvc.Api.Analyzers.Test/TestFiles/SymbolApiResponseMetadataProviderTest/GetResponseMetadataTests.cs
+++ b/src/Mvc/test/Mvc.Api.Analyzers.Test/TestFiles/SymbolApiResponseMetadataProviderTest/GetResponseMetadataTests.cs
@@ -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;
+ }
}
diff --git a/startvs.cmd b/startvs.cmd
index 79fde11abd..eb5818a0d7 100644
--- a/startvs.cmd
+++ b/startvs.cmd
@@ -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 ^
echo Usage^: startvs.cmd ^
@@ -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%