diff --git a/build/repo.props b/build/repo.props
index 53ad94228896e7b337eb74bb68044b9b1de9ffeb..500a42773e29e0238ec6a37603a21515b21d808d 100644
--- a/build/repo.props
+++ b/build/repo.props
@@ -166,6 +166,7 @@
                           $(RepositoryRoot)src\MusicStore\**\*.*proj;
                           $(RepositoryRoot)src\SignalR\**\*.csproj;
                           $(RepositoryRoot)src\Components\**\*.csproj;
+                          $(RepositoryRoot)src\Analyzers\**\*.csproj;
                           $(RepositoryRoot)src\ProjectTemplates\*\*.csproj;
                           $(RepositoryRoot)src\ProjectTemplates\testassets\*\*.csproj;
                           "
diff --git a/eng/Versions.props b/eng/Versions.props
index 2ae50f6f34b2268e175cd9c8bddaa7f907d45816..e36b083079c940be5b534f370cf776d0db0b13c0 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -150,9 +150,9 @@
     <MicrosoftAzureStorageBlobPackageVersion>10.0.1</MicrosoftAzureStorageBlobPackageVersion>
     <MicrosoftBuildFrameworkPackageVersion>15.8.166</MicrosoftBuildFrameworkPackageVersion>
     <MicrosoftBuildUtilitiesCorePackageVersion>15.8.166</MicrosoftBuildUtilitiesCorePackageVersion>
-    <MicrosoftCodeAnalysisCommonPackageVersion>2.8.0</MicrosoftCodeAnalysisCommonPackageVersion>
-    <MicrosoftCodeAnalysisCSharpPackageVersion>2.8.0</MicrosoftCodeAnalysisCSharpPackageVersion>
-    <MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion>2.8.0</MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion>
+    <MicrosoftCodeAnalysisCommonPackageVersion>3.0.0</MicrosoftCodeAnalysisCommonPackageVersion>
+    <MicrosoftCodeAnalysisCSharpPackageVersion>3.0.0</MicrosoftCodeAnalysisCSharpPackageVersion>
+    <MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion>3.0.0</MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion>
     <MicrosoftIdentityModelClientsActiveDirectoryPackageVersion>3.19.8</MicrosoftIdentityModelClientsActiveDirectoryPackageVersion>
     <MicrosoftIdentityModelLoggingPackageVersion>5.3.0</MicrosoftIdentityModelLoggingPackageVersion>
     <MicrosoftIdentityModelProtocolsOpenIdConnectPackageVersion>5.3.0</MicrosoftIdentityModelProtocolsOpenIdConnectPackageVersion>
diff --git a/src/Analyzers/Analyzers.sln b/src/Analyzers/Analyzers.sln
new file mode 100644
index 0000000000000000000000000000000000000000..e247944f6a669d9b492ae6a8b2019bbb73267758
--- /dev/null
+++ b/src/Analyzers/Analyzers.sln
@@ -0,0 +1,794 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.28903.44
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analyzers", "Analyzers", "{E20BC57F-1881-40B0-BEAF-338BBDA87956}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc", "..\Mvc\Mvc\src\Microsoft.AspNetCore.Mvc.csproj", "{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR", "..\SignalR\server\SignalR\src\Microsoft.AspNetCore.SignalR.csproj", "{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Server", "..\Components\Server\src\Microsoft.AspNetCore.Components.Server.csproj", "{476B2742-74FD-4009-92DE-7B1214EAF244}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Antiforgery", "..\Antiforgery\src\Microsoft.AspNetCore.Antiforgery.csproj", "{E38BD375-143D-4928-8814-924597931A07}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Abstractions", "..\Http\Authentication.Abstractions\src\Microsoft.AspNetCore.Authentication.Abstractions.csproj", "{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Core", "..\Http\Authentication.Core\src\Microsoft.AspNetCore.Authentication.Core.csproj", "{31B70151-7A3F-47F9-87DE-B279E93B3915}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authorization", "..\Security\Authorization\Core\src\Microsoft.AspNetCore.Authorization.csproj", "{D345FDA8-05A0-4141-BCEF-1A11AF01480A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authorization.Policy", "..\Security\Authorization\Policy\src\Microsoft.AspNetCore.Authorization.Policy.csproj", "{34CCB39F-37E7-46E7-AC58-E9197F4A5380}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components", "..\Components\Components\src\Microsoft.AspNetCore.Components.csproj", "{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Browser", "..\Components\Browser\src\Microsoft.AspNetCore.Components.Browser.csproj", "{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Connections.Abstractions", "..\Servers\Connections.Abstractions\src\Microsoft.AspNetCore.Connections.Abstractions.csproj", "{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cors", "..\Middleware\CORS\src\Microsoft.AspNetCore.Cors.csproj", "{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cryptography.Internal", "..\DataProtection\Cryptography.Internal\src\Microsoft.AspNetCore.Cryptography.Internal.csproj", "{D8F56A11-8961-4BD4-8846-C5483BA500F8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection", "..\DataProtection\DataProtection\src\Microsoft.AspNetCore.DataProtection.csproj", "{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection.Abstractions", "..\DataProtection\Abstractions\src\Microsoft.AspNetCore.DataProtection.Abstractions.csproj", "{52055C8F-9A92-48D4-B4F7-33F287173456}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Diagnostics.Abstractions", "..\Middleware\Diagnostics.Abstractions\src\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj", "{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Abstractions", "..\Hosting\Abstractions\src\Microsoft.AspNetCore.Hosting.Abstractions.csproj", "{DF11316F-4166-415D-B610-01603DADFED1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Server.Abstractions", "..\Hosting\Server.Abstractions\src\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj", "{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Html.Abstractions", "..\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj", "{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http", "..\Http\Http\src\Microsoft.AspNetCore.Http.csproj", "{3090F751-B421-4853-829C-C0CC5ADE3D83}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Abstractions", "..\Http\Http.Abstractions\src\Microsoft.AspNetCore.Http.Abstractions.csproj", "{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections", "..\SignalR\common\Http.Connections\src\Microsoft.AspNetCore.Http.Connections.csproj", "{4B501200-A3FD-4F3B-B8AC-582108B13A05}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Common", "..\SignalR\common\Http.Connections.Common\src\Microsoft.AspNetCore.Http.Connections.Common.csproj", "{99F7E758-9327-4A16-8AB7-72B35B1D2C92}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Extensions", "..\Http\Http.Extensions\src\Microsoft.AspNetCore.Http.Extensions.csproj", "{04C932ED-58DA-4EB9-90CD-2835C67B9952}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Features", "..\Http\Http.Features\src\Microsoft.AspNetCore.Http.Features.csproj", "{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Localization", "..\Middleware\Localization\src\Microsoft.AspNetCore.Localization.csproj", "{9D5B4D52-7E1B-4981-8994-5288262577B2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Abstractions", "..\Mvc\Mvc.Abstractions\src\Microsoft.AspNetCore.Mvc.Abstractions.csproj", "{06091041-72DA-4C68-8FC1-AD65E495993D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.ApiExplorer", "..\Mvc\Mvc.ApiExplorer\src\Microsoft.AspNetCore.Mvc.ApiExplorer.csproj", "{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Core", "..\Mvc\Mvc.Core\src\Microsoft.AspNetCore.Mvc.Core.csproj", "{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Cors", "..\Mvc\Mvc.Cors\src\Microsoft.AspNetCore.Mvc.Cors.csproj", "{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.DataAnnotations", "..\Mvc\Mvc.DataAnnotations\src\Microsoft.AspNetCore.Mvc.DataAnnotations.csproj", "{2E4394A2-9863-4B60-B9EA-906FA6C46854}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Formatters.Json", "..\Mvc\Mvc.Formatters.Json\src\Microsoft.AspNetCore.Mvc.Formatters.Json.csproj", "{470CD0EE-3C90-462A-B003-3403AB4558A5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Localization", "..\Mvc\Mvc.Localization\src\Microsoft.AspNetCore.Mvc.Localization.csproj", "{0192C192-BE48-4BC4-8308-9497407FA054}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor", "..\Mvc\Mvc.Razor\src\Microsoft.AspNetCore.Mvc.Razor.csproj", "{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.RazorPages", "..\Mvc\Mvc.RazorPages\src\Microsoft.AspNetCore.Mvc.RazorPages.csproj", "{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.TagHelpers", "..\Mvc\Mvc.TagHelpers\src\Microsoft.AspNetCore.Mvc.TagHelpers.csproj", "{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.ViewFeatures", "..\Mvc\Mvc.ViewFeatures\src\Microsoft.AspNetCore.Mvc.ViewFeatures.csproj", "{47E04D89-C2F0-4339-B439-E097AD1ABC09}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor", "..\Razor\Razor\src\Microsoft.AspNetCore.Razor.csproj", "{10588AC3-7F69-47F3-B58D-387ED27C9A50}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Runtime", "..\Razor\Razor.Runtime\src\Microsoft.AspNetCore.Razor.Runtime.csproj", "{3EEBE055-DD80-4256-B71F-48C9489E2FC2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCaching.Abstractions", "..\Middleware\ResponseCaching.Abstractions\src\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj", "{F871786B-8DF5-4BA7-A5CA-D128651F69AA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing", "..\Http\Routing\src\Microsoft.AspNetCore.Routing.csproj", "{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Abstractions", "..\Http\Routing.Abstractions\src\Microsoft.AspNetCore.Routing.Abstractions.csproj", "{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Common", "..\SignalR\common\SignalR.Common\src\Microsoft.AspNetCore.SignalR.Common.csproj", "{D3A17614-4C31-455F-ADA4-0FD746C569BE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Core", "..\SignalR\server\Core\src\Microsoft.AspNetCore.SignalR.Core.csproj", "{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.Json", "..\SignalR\common\Protocols.Json\src\Microsoft.AspNetCore.SignalR.Protocols.Json.csproj", "{01E8A2FA-4591-4D85-81BE-341CA3C61A90}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.StaticFiles", "..\Middleware\StaticFiles\src\Microsoft.AspNetCore.StaticFiles.csproj", "{894DE066-00B0-44E6-88B9-46F91A17EE26}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebSockets", "..\Middleware\WebSockets\src\Microsoft.AspNetCore.WebSockets.csproj", "{0684DA04-DFBA-499D-8D07-2649C3C1068D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebUtilities", "..\Http\WebUtilities\src\Microsoft.AspNetCore.WebUtilities.csproj", "{66456C7C-8CE9-4E01-95A3-399B59CA3438}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Http.Headers", "..\Http\Headers\src\Microsoft.Net.Http.Headers.csproj", "{BDF0389F-B502-4D71-8ADF-206A59F9D32A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Analyzers", "Analyzers\src\Microsoft.AspNetCore.Analyzers.csproj", "{95534D16-E720-4435-9867-5D3E2B288406}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Analyzers.Test", "Analyzers\test\Microsoft.AspNetCore.Analyzers.Test.csproj", "{63A928CC-792F-400A-97D3-F455C0A78B8F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_dependencies", "_dependencies", "{15FC976B-4FFC-47E1-A047-194F21C3CA9F}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|Any CPU = Release|Any CPU
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Debug|x64.Build.0 = Debug|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Debug|x86.Build.0 = Debug|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Release|x64.ActiveCfg = Release|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Release|x64.Build.0 = Release|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Release|x86.ActiveCfg = Release|Any CPU
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A}.Release|x86.Build.0 = Release|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Debug|x64.Build.0 = Debug|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Debug|x86.Build.0 = Debug|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Release|x64.ActiveCfg = Release|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Release|x64.Build.0 = Release|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Release|x86.ActiveCfg = Release|Any CPU
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6}.Release|x86.Build.0 = Release|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Debug|x64.Build.0 = Debug|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Debug|x86.Build.0 = Debug|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Release|Any CPU.Build.0 = Release|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Release|x64.ActiveCfg = Release|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Release|x64.Build.0 = Release|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Release|x86.ActiveCfg = Release|Any CPU
+		{476B2742-74FD-4009-92DE-7B1214EAF244}.Release|x86.Build.0 = Release|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Debug|x64.Build.0 = Debug|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Debug|x86.Build.0 = Debug|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Release|x64.ActiveCfg = Release|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Release|x64.Build.0 = Release|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Release|x86.ActiveCfg = Release|Any CPU
+		{E38BD375-143D-4928-8814-924597931A07}.Release|x86.Build.0 = Release|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Debug|x64.Build.0 = Debug|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Debug|x86.Build.0 = Debug|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Release|x64.ActiveCfg = Release|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Release|x64.Build.0 = Release|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Release|x86.ActiveCfg = Release|Any CPU
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D}.Release|x86.Build.0 = Release|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Debug|x64.Build.0 = Debug|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Debug|x86.Build.0 = Debug|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Release|Any CPU.Build.0 = Release|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Release|x64.ActiveCfg = Release|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Release|x64.Build.0 = Release|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Release|x86.ActiveCfg = Release|Any CPU
+		{31B70151-7A3F-47F9-87DE-B279E93B3915}.Release|x86.Build.0 = Release|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Debug|x64.Build.0 = Debug|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Debug|x86.Build.0 = Debug|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Release|x64.ActiveCfg = Release|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Release|x64.Build.0 = Release|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Release|x86.ActiveCfg = Release|Any CPU
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A}.Release|x86.Build.0 = Release|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Debug|x64.Build.0 = Debug|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Debug|x86.Build.0 = Debug|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Release|Any CPU.Build.0 = Release|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Release|x64.ActiveCfg = Release|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Release|x64.Build.0 = Release|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Release|x86.ActiveCfg = Release|Any CPU
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380}.Release|x86.Build.0 = Release|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Debug|x64.Build.0 = Debug|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Debug|x86.Build.0 = Debug|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Release|x64.ActiveCfg = Release|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Release|x64.Build.0 = Release|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Release|x86.ActiveCfg = Release|Any CPU
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1}.Release|x86.Build.0 = Release|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Debug|x64.Build.0 = Debug|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Debug|x86.Build.0 = Debug|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Release|x64.ActiveCfg = Release|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Release|x64.Build.0 = Release|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Release|x86.ActiveCfg = Release|Any CPU
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC}.Release|x86.Build.0 = Release|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Debug|x64.Build.0 = Debug|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Debug|x86.Build.0 = Debug|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Release|x64.ActiveCfg = Release|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Release|x64.Build.0 = Release|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Release|x86.ActiveCfg = Release|Any CPU
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E}.Release|x86.Build.0 = Release|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Debug|x64.Build.0 = Debug|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Debug|x86.Build.0 = Debug|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Release|Any CPU.Build.0 = Release|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Release|x64.ActiveCfg = Release|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Release|x64.Build.0 = Release|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Release|x86.ActiveCfg = Release|Any CPU
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22}.Release|x86.Build.0 = Release|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Debug|x64.Build.0 = Debug|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Debug|x86.Build.0 = Debug|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Release|x64.ActiveCfg = Release|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Release|x64.Build.0 = Release|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Release|x86.ActiveCfg = Release|Any CPU
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8}.Release|x86.Build.0 = Release|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Debug|x64.Build.0 = Debug|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Debug|x86.Build.0 = Debug|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Release|x64.ActiveCfg = Release|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Release|x64.Build.0 = Release|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Release|x86.ActiveCfg = Release|Any CPU
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F}.Release|x86.Build.0 = Release|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Debug|x64.Build.0 = Debug|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Debug|x86.Build.0 = Debug|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Release|Any CPU.Build.0 = Release|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Release|x64.ActiveCfg = Release|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Release|x64.Build.0 = Release|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Release|x86.ActiveCfg = Release|Any CPU
+		{52055C8F-9A92-48D4-B4F7-33F287173456}.Release|x86.Build.0 = Release|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Debug|x64.Build.0 = Debug|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Debug|x86.Build.0 = Debug|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Release|x64.ActiveCfg = Release|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Release|x64.Build.0 = Release|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Release|x86.ActiveCfg = Release|Any CPU
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F}.Release|x86.Build.0 = Release|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Debug|x64.Build.0 = Debug|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Debug|x86.Build.0 = Debug|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Release|x64.ActiveCfg = Release|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Release|x64.Build.0 = Release|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Release|x86.ActiveCfg = Release|Any CPU
+		{DF11316F-4166-415D-B610-01603DADFED1}.Release|x86.Build.0 = Release|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Debug|x64.Build.0 = Debug|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Debug|x86.Build.0 = Debug|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Release|x64.ActiveCfg = Release|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Release|x64.Build.0 = Release|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Release|x86.ActiveCfg = Release|Any CPU
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC}.Release|x86.Build.0 = Release|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Debug|x64.Build.0 = Debug|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Debug|x86.Build.0 = Debug|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Release|x64.ActiveCfg = Release|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Release|x64.Build.0 = Release|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Release|x86.ActiveCfg = Release|Any CPU
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6}.Release|x86.Build.0 = Release|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Debug|x64.Build.0 = Debug|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Debug|x86.Build.0 = Debug|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Release|x64.ActiveCfg = Release|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Release|x64.Build.0 = Release|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Release|x86.ActiveCfg = Release|Any CPU
+		{3090F751-B421-4853-829C-C0CC5ADE3D83}.Release|x86.Build.0 = Release|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Debug|x64.Build.0 = Debug|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Debug|x86.Build.0 = Debug|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Release|x64.ActiveCfg = Release|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Release|x64.Build.0 = Release|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Release|x86.ActiveCfg = Release|Any CPU
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33}.Release|x86.Build.0 = Release|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Debug|x64.Build.0 = Debug|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Debug|x86.Build.0 = Debug|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Release|x64.ActiveCfg = Release|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Release|x64.Build.0 = Release|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Release|x86.ActiveCfg = Release|Any CPU
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05}.Release|x86.Build.0 = Release|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Debug|x64.Build.0 = Debug|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Debug|x86.Build.0 = Debug|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Release|Any CPU.Build.0 = Release|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Release|x64.ActiveCfg = Release|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Release|x64.Build.0 = Release|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Release|x86.ActiveCfg = Release|Any CPU
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92}.Release|x86.Build.0 = Release|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Debug|x64.Build.0 = Debug|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Debug|x86.Build.0 = Debug|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Release|Any CPU.Build.0 = Release|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Release|x64.ActiveCfg = Release|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Release|x64.Build.0 = Release|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Release|x86.ActiveCfg = Release|Any CPU
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952}.Release|x86.Build.0 = Release|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Debug|x64.Build.0 = Debug|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Debug|x86.Build.0 = Debug|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Release|x64.ActiveCfg = Release|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Release|x64.Build.0 = Release|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Release|x86.ActiveCfg = Release|Any CPU
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803}.Release|x86.Build.0 = Release|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Debug|x64.Build.0 = Debug|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Debug|x86.Build.0 = Debug|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Release|x64.ActiveCfg = Release|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Release|x64.Build.0 = Release|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Release|x86.ActiveCfg = Release|Any CPU
+		{9D5B4D52-7E1B-4981-8994-5288262577B2}.Release|x86.Build.0 = Release|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Debug|x64.Build.0 = Debug|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Debug|x86.Build.0 = Debug|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Release|x64.ActiveCfg = Release|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Release|x64.Build.0 = Release|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Release|x86.ActiveCfg = Release|Any CPU
+		{06091041-72DA-4C68-8FC1-AD65E495993D}.Release|x86.Build.0 = Release|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Debug|x64.Build.0 = Debug|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Debug|x86.Build.0 = Debug|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Release|x64.ActiveCfg = Release|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Release|x64.Build.0 = Release|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Release|x86.ActiveCfg = Release|Any CPU
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB}.Release|x86.Build.0 = Release|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Debug|x64.Build.0 = Debug|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Debug|x86.Build.0 = Debug|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Release|x64.ActiveCfg = Release|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Release|x64.Build.0 = Release|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Release|x86.ActiveCfg = Release|Any CPU
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E}.Release|x86.Build.0 = Release|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Debug|x64.Build.0 = Debug|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Debug|x86.Build.0 = Debug|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Release|x64.ActiveCfg = Release|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Release|x64.Build.0 = Release|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Release|x86.ActiveCfg = Release|Any CPU
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7}.Release|x86.Build.0 = Release|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Debug|x64.Build.0 = Debug|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Debug|x86.Build.0 = Debug|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Release|x64.ActiveCfg = Release|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Release|x64.Build.0 = Release|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Release|x86.ActiveCfg = Release|Any CPU
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854}.Release|x86.Build.0 = Release|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Debug|x64.Build.0 = Debug|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Debug|x86.Build.0 = Debug|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Release|x64.ActiveCfg = Release|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Release|x64.Build.0 = Release|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Release|x86.ActiveCfg = Release|Any CPU
+		{470CD0EE-3C90-462A-B003-3403AB4558A5}.Release|x86.Build.0 = Release|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Debug|x64.Build.0 = Debug|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Debug|x86.Build.0 = Debug|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Release|x64.ActiveCfg = Release|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Release|x64.Build.0 = Release|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Release|x86.ActiveCfg = Release|Any CPU
+		{0192C192-BE48-4BC4-8308-9497407FA054}.Release|x86.Build.0 = Release|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Debug|x64.Build.0 = Debug|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Debug|x86.Build.0 = Debug|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Release|x64.ActiveCfg = Release|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Release|x64.Build.0 = Release|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Release|x86.ActiveCfg = Release|Any CPU
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30}.Release|x86.Build.0 = Release|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Debug|x64.Build.0 = Debug|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Debug|x86.Build.0 = Debug|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Release|x64.ActiveCfg = Release|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Release|x64.Build.0 = Release|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Release|x86.ActiveCfg = Release|Any CPU
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3}.Release|x86.Build.0 = Release|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Debug|x64.Build.0 = Debug|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Debug|x86.Build.0 = Debug|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Release|x64.ActiveCfg = Release|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Release|x64.Build.0 = Release|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Release|x86.ActiveCfg = Release|Any CPU
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C}.Release|x86.Build.0 = Release|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Debug|x64.Build.0 = Debug|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Debug|x86.Build.0 = Debug|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Release|Any CPU.Build.0 = Release|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Release|x64.ActiveCfg = Release|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Release|x64.Build.0 = Release|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Release|x86.ActiveCfg = Release|Any CPU
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09}.Release|x86.Build.0 = Release|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Debug|x64.Build.0 = Debug|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Debug|x86.Build.0 = Debug|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Release|Any CPU.Build.0 = Release|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Release|x64.ActiveCfg = Release|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Release|x64.Build.0 = Release|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Release|x86.ActiveCfg = Release|Any CPU
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50}.Release|x86.Build.0 = Release|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Debug|x64.Build.0 = Debug|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Debug|x86.Build.0 = Debug|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Release|x64.ActiveCfg = Release|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Release|x64.Build.0 = Release|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Release|x86.ActiveCfg = Release|Any CPU
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2}.Release|x86.Build.0 = Release|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Debug|x64.Build.0 = Debug|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Debug|x86.Build.0 = Debug|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Release|x64.ActiveCfg = Release|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Release|x64.Build.0 = Release|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Release|x86.ActiveCfg = Release|Any CPU
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA}.Release|x86.Build.0 = Release|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Debug|x64.Build.0 = Debug|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Debug|x86.Build.0 = Debug|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Release|x64.ActiveCfg = Release|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Release|x64.Build.0 = Release|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Release|x86.ActiveCfg = Release|Any CPU
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05}.Release|x86.Build.0 = Release|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Debug|x64.Build.0 = Debug|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Debug|x86.Build.0 = Debug|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Release|x64.ActiveCfg = Release|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Release|x64.Build.0 = Release|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Release|x86.ActiveCfg = Release|Any CPU
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1}.Release|x86.Build.0 = Release|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Debug|x64.Build.0 = Debug|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Debug|x86.Build.0 = Debug|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Release|x64.ActiveCfg = Release|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Release|x64.Build.0 = Release|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Release|x86.ActiveCfg = Release|Any CPU
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE}.Release|x86.Build.0 = Release|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Debug|x64.Build.0 = Debug|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Debug|x86.Build.0 = Debug|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Release|x64.ActiveCfg = Release|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Release|x64.Build.0 = Release|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Release|x86.ActiveCfg = Release|Any CPU
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E}.Release|x86.Build.0 = Release|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Debug|x64.Build.0 = Debug|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Debug|x86.Build.0 = Debug|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Release|Any CPU.Build.0 = Release|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Release|x64.ActiveCfg = Release|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Release|x64.Build.0 = Release|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Release|x86.ActiveCfg = Release|Any CPU
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90}.Release|x86.Build.0 = Release|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Debug|x64.Build.0 = Debug|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Debug|x86.Build.0 = Debug|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Release|Any CPU.Build.0 = Release|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Release|x64.ActiveCfg = Release|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Release|x64.Build.0 = Release|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Release|x86.ActiveCfg = Release|Any CPU
+		{894DE066-00B0-44E6-88B9-46F91A17EE26}.Release|x86.Build.0 = Release|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Debug|x64.Build.0 = Debug|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Debug|x86.Build.0 = Debug|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Release|x64.ActiveCfg = Release|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Release|x64.Build.0 = Release|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Release|x86.ActiveCfg = Release|Any CPU
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D}.Release|x86.Build.0 = Release|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Debug|x64.Build.0 = Debug|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Debug|x86.Build.0 = Debug|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Release|Any CPU.Build.0 = Release|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Release|x64.ActiveCfg = Release|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Release|x64.Build.0 = Release|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Release|x86.ActiveCfg = Release|Any CPU
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438}.Release|x86.Build.0 = Release|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Debug|x64.Build.0 = Debug|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Debug|x86.Build.0 = Debug|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Release|x64.ActiveCfg = Release|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Release|x64.Build.0 = Release|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Release|x86.ActiveCfg = Release|Any CPU
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A}.Release|x86.Build.0 = Release|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Debug|x64.Build.0 = Debug|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Debug|x86.Build.0 = Debug|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Release|Any CPU.Build.0 = Release|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Release|x64.ActiveCfg = Release|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Release|x64.Build.0 = Release|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Release|x86.ActiveCfg = Release|Any CPU
+		{95534D16-E720-4435-9867-5D3E2B288406}.Release|x86.Build.0 = Release|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Debug|x64.Build.0 = Debug|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Debug|x86.Build.0 = Debug|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Release|x64.ActiveCfg = Release|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Release|x64.Build.0 = Release|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Release|x86.ActiveCfg = Release|Any CPU
+		{63A928CC-792F-400A-97D3-F455C0A78B8F}.Release|x86.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{C13EDBA9-14CB-46FE-8F9F-3ABCC1A5CD3A} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{E60ADC05-55CE-46FD-9CBF-31E31FEF79D6} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{476B2742-74FD-4009-92DE-7B1214EAF244} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{E38BD375-143D-4928-8814-924597931A07} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{B0E13EEA-7E85-4265-BC1C-AFA1526FB36D} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{31B70151-7A3F-47F9-87DE-B279E93B3915} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{D345FDA8-05A0-4141-BCEF-1A11AF01480A} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{34CCB39F-37E7-46E7-AC58-E9197F4A5380} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{34522BFF-D1D8-44A3-891E-77C6BE7C81F1} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{9C20C5AB-E609-4167-922D-0E7C7C6ED1EC} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{A21D03D7-5D69-47E7-B32C-4D7067D71B0E} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{48A3DFDD-C975-42CA-87BA-3B8BAF549E22} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{D8F56A11-8961-4BD4-8846-C5483BA500F8} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{7E619CBF-B8B4-4FF6-8A73-C259FD4B0A0F} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{52055C8F-9A92-48D4-B4F7-33F287173456} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{AACC0D65-5B5D-4D38-BC24-1FADDC1A5F0F} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{DF11316F-4166-415D-B610-01603DADFED1} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{AEC73094-8FE0-419C-A7E4-4BCC7CEF2BBC} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{A42AAAA1-C8D9-4EA9-935F-A155F8B4BEE6} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{3090F751-B421-4853-829C-C0CC5ADE3D83} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{E10A7203-BCC8-4F81-A9FB-56C241BC4B33} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{4B501200-A3FD-4F3B-B8AC-582108B13A05} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{99F7E758-9327-4A16-8AB7-72B35B1D2C92} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{04C932ED-58DA-4EB9-90CD-2835C67B9952} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{7B7FBB84-21AE-4720-90BE-F9FD22AEE803} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{9D5B4D52-7E1B-4981-8994-5288262577B2} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{06091041-72DA-4C68-8FC1-AD65E495993D} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{535E8748-EC5E-41CB-94ED-ACB8A75E46AB} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{9B71BB93-4E03-4F4A-A52C-6490E9CFD99E} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{11FB37B1-F4C9-4C4F-867E-4FD9050282C7} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{2E4394A2-9863-4B60-B9EA-906FA6C46854} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{470CD0EE-3C90-462A-B003-3403AB4558A5} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{0192C192-BE48-4BC4-8308-9497407FA054} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{DB90A8A7-6E65-4388-AA9A-4FCFFF39AF30} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{823DD383-E8EB-4CF8-84BB-0EA3D6E024C3} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{BD6F4453-AE41-4578-B3FB-9F7C4617D96C} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{47E04D89-C2F0-4339-B439-E097AD1ABC09} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{10588AC3-7F69-47F3-B58D-387ED27C9A50} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{3EEBE055-DD80-4256-B71F-48C9489E2FC2} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{F871786B-8DF5-4BA7-A5CA-D128651F69AA} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{AFBA7019-7A48-42AB-9C0B-B10D8CDC8A05} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{B634CC5E-8AC9-49EF-801F-C04AA322EEC1} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{D3A17614-4C31-455F-ADA4-0FD746C569BE} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{8AFB0927-456A-4EC9-A07F-65C15A03AA9E} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{01E8A2FA-4591-4D85-81BE-341CA3C61A90} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{894DE066-00B0-44E6-88B9-46F91A17EE26} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{0684DA04-DFBA-499D-8D07-2649C3C1068D} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{66456C7C-8CE9-4E01-95A3-399B59CA3438} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{BDF0389F-B502-4D71-8ADF-206A59F9D32A} = {15FC976B-4FFC-47E1-A047-194F21C3CA9F}
+		{95534D16-E720-4435-9867-5D3E2B288406} = {E20BC57F-1881-40B0-BEAF-338BBDA87956}
+		{63A928CC-792F-400A-97D3-F455C0A78B8F} = {E20BC57F-1881-40B0-BEAF-338BBDA87956}
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {C44A91F6-58D3-4900-8D5C-60E9690D5D3B}
+	EndGlobalSection
+EndGlobal
diff --git a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..5d67f77e3a2eff65e0ada4ff101ccbf4f24b0031
--- /dev/null
+++ b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj
@@ -0,0 +1,46 @@
+<Project Sdk="Microsoft.NET.Sdk">
+  <PropertyGroup>
+    <Description>CSharp Analyzers for ASP.NET Core.</Description>
+    <PackageTags>aspnetcore</PackageTags>
+
+    <!--
+      This package is for internal use only. It contains analyzers that are bundled in the .NET Core Web SDK.
+
+      We do need to pack it so it can be picked up by the Web SDK.
+    -->
+    <IsShippingPackage>false</IsShippingPackage>
+    <IsPackable>true</IsPackable>
+
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <IncludeBuildOutput>false</IncludeBuildOutput>
+    <GenerateDocumentationFile>false</GenerateDocumentationFile>
+    <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" PrivateAssets="All" />
+  </ItemGroup>
+
+  <Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec">
+
+    <PropertyGroup>
+      <NuspecProperties>
+        id=$(PackageId);
+        version=$(PackageVersion);
+        authors=$(Authors);
+        description=$(Description);
+        tags=$(PackageTags.Replace(';', ' '));
+        licenseUrl=$(PackageLicenseUrl);
+        projectUrl=$(PackageProjectUrl);
+        iconUrl=$(PackageIconUrl);
+        repositoryUrl=$(RepositoryUrl);
+        repositoryCommit=$(SourceRevisionId);
+        copyright=$(Copyright);
+
+        OutputBinary=$(OutputPath)$(AssemblyName).dll;
+        OutputSymbol=$(OutputPath)$(AssemblyName).pdb;
+      </NuspecProperties>
+    </PropertyGroup>
+  </Target>
+
+</Project>
diff --git a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec
new file mode 100644
index 0000000000000000000000000000000000000000..5f9d436f73fbd73c9d29df220b605eaff359bd45
--- /dev/null
+++ b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
+    <id>$id$</id>
+    <version>$version$</version>
+    <authors>$authors$</authors>
+    <requireLicenseAcceptance>true</requireLicenseAcceptance>
+    <licenseUrl>$licenseUrl$</licenseUrl>
+    <projectUrl>$projectUrl$</projectUrl>
+    <iconUrl>$iconUrl$</iconUrl>
+    <description>$description$</description>
+    <copyright>$copyright$</copyright>
+    <tags>$tags$</tags>
+    <repository type="git" url="$repositoryUrl$" commit="$repositoryCommit$" />
+    <dependencies>
+      <group targetFramework=".NETStandard1.3" />
+    </dependencies>
+  </metadata>
+
+  <files>
+    <file src="$OutputBinary$" target="analyzers\dotnet\cs\" />
+    <file src="$OutputSymbol$" target="analyzers\dotnet\cs\" />
+  </files>
+</package>
diff --git a/src/Analyzers/Analyzers/src/Properties/AssemblyInfo.cs b/src/Analyzers/Analyzers/src/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9db659780bc8b0a561cbc231610c60fbb7621bfb
--- /dev/null
+++ b/src/Analyzers/Analyzers/src/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Analyzers.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Analyzers/Analyzers/src/StartupFacts.cs b/src/Analyzers/Analyzers/src/StartupFacts.cs
new file mode 100644
index 0000000000000000000000000000000000000000..a267024a053a0e46e2eb63ae5f9f2bca0200433f
--- /dev/null
+++ b/src/Analyzers/Analyzers/src/StartupFacts.cs
@@ -0,0 +1,126 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using Microsoft.CodeAnalysis;
+
+namespace Microsoft.AspNetCore.Analyzers
+{
+    internal static class StartupFacts
+    {
+        public static bool IsStartupClass(StartupSymbols symbols, INamedTypeSymbol type)
+        {
+            if (symbols == null)
+            {
+                throw new ArgumentNullException(nameof(symbols));
+            }
+
+            if (type == null)
+            {
+                throw new ArgumentNullException(nameof(type));
+            }
+
+            // It's not good enough to just look for a method called ConfigureServices or Configure as a hueristic.
+            // ConfigureServices might not appear in trivial cases, and Configure might be named ConfigureDevelopment
+            // or something similar.
+            //
+            // Additionally, a startup class could be called anything and wired up explicitly.
+            //
+            // Since we already are analyzing the symbol it should be cheap to do a pass over the members.
+            var members = type.GetMembers();
+            for (var i = 0; i < members.Length; i++)
+            {
+                if (members[i] is IMethodSymbol method && (IsConfigureServices(symbols, method) || IsConfigure(symbols, method)))
+                {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+        // Based on StartupLoader. The philosophy is that we want to do analysis only on things
+        // that would be recognized as a ConfigureServices method to avoid false positives.
+        //
+        // The ConfigureServices method follows the naming pattern `Configure{Environment?}Services` (ignoring case).
+        // The ConfigureServices method must be public.
+        // The ConfigureServices method can be instance or static.
+        // The ConfigureServices method cannot have other parameters besides IServiceCollection.
+        //
+        // The ConfigureServices method does not actually need to accept IServiceCollection
+        // but we exclude that case because a ConfigureServices method that doesn't accept an
+        // IServiceCollection can't do anything interesting to analysis.
+        public static bool IsConfigureServices(StartupSymbols symbols, IMethodSymbol symbol)
+        {
+            if (symbol == null)
+            {
+                throw new ArgumentNullException(nameof(symbol));
+            }
+
+            if (symbol.DeclaredAccessibility != Accessibility.Public)
+            {
+                return false;
+            }
+
+            if (symbol.Name == null ||
+                !symbol.Name.StartsWith(SymbolNames.ConfigureServicesMethodPrefix, StringComparison.OrdinalIgnoreCase) ||
+                !symbol.Name.EndsWith(SymbolNames.ConfigureServicesMethodSuffix, StringComparison.OrdinalIgnoreCase))
+            {
+                return false;
+            }
+
+            if (symbol.Parameters.Length != 1)
+            {
+                return false;
+            }
+
+            if (symbol.Parameters[0].Type != symbols.IServiceCollection)
+            {
+                return false;
+            }
+
+            return true;
+        }
+
+        // Based on StartupLoader. The philosophy is that we want to do analysis only on things
+        // that would be recognized as a Configure method to avoid false positives.
+        //
+        // The Configure method follows the naming pattern `Configure{Environment?}` (ignoring case).
+        // The Configure method must be public.
+        // The Configure method can be instance or static.
+        // The Configure method *can* have other parameters besides IApplicationBuilder.
+        //
+        // The Configure method does not actually need to accept IApplicationBuilder
+        // but we exclude that case because a Configure method that doesn't accept an
+        // IApplicationBuilder can't do anything interesting to analysis.
+        public static bool IsConfigure(StartupSymbols symbols, IMethodSymbol symbol)
+        {
+            if (symbol == null)
+            {
+                throw new ArgumentNullException(nameof(symbol));
+            }
+
+            if (symbol.DeclaredAccessibility != Accessibility.Public)
+            {
+                return false;
+            }
+
+            if (symbol.Name == null ||
+                !symbol.Name.StartsWith(SymbolNames.ConfigureMethodPrefix, StringComparison.OrdinalIgnoreCase))
+            {
+                return false;
+            }
+
+            // IApplicationBuilder can appear in any parameter, but must appear.
+            for (var i = 0; i < symbol.Parameters.Length; i++)
+            {
+                if (symbol.Parameters[i].Type == symbols.IApplicationBuilder)
+                {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+    }
+}
diff --git a/src/Analyzers/Analyzers/src/StartupSymbols.cs b/src/Analyzers/Analyzers/src/StartupSymbols.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9b98302b4614f3531a7b7dbaebe169e50dac39b9
--- /dev/null
+++ b/src/Analyzers/Analyzers/src/StartupSymbols.cs
@@ -0,0 +1,22 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.CodeAnalysis;
+
+namespace Microsoft.AspNetCore.Analyzers
+{
+    internal class StartupSymbols
+    {
+        public StartupSymbols(Compilation compilation)
+        {
+            IApplicationBuilder = compilation.GetTypeByMetadataName(SymbolNames.IApplicationBuilder.MetadataName);
+            IServiceCollection = compilation.GetTypeByMetadataName(SymbolNames.IServiceCollection.MetadataName);
+        }
+
+        public bool HasRequiredSymbols => IApplicationBuilder != null && IServiceCollection != null;
+
+        public INamedTypeSymbol IApplicationBuilder { get; }
+
+        public INamedTypeSymbol IServiceCollection { get; }
+    }
+}
diff --git a/src/Analyzers/Analyzers/src/SymbolNames.cs b/src/Analyzers/Analyzers/src/SymbolNames.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0aff8e073840635b52bf857e736a3d861c333988
--- /dev/null
+++ b/src/Analyzers/Analyzers/src/SymbolNames.cs
@@ -0,0 +1,26 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.CodeAnalysis;
+
+namespace Microsoft.AspNetCore.Analyzers
+{
+    internal static class SymbolNames
+    {
+        public const string ConfigureServicesMethodPrefix = "Configure";
+
+        public const string ConfigureServicesMethodSuffix = "Services";
+
+        public const string ConfigureMethodPrefix = "Configure";
+
+        public static class IApplicationBuilder
+        {
+            public const string MetadataName = "Microsoft.AspNetCore.Builder.IApplicationBuilder";
+        }
+
+        public static class IServiceCollection
+        {
+            public const string MetadataName = "Microsoft.Extensions.DependencyInjection.IServiceCollection";
+        }
+    }
+}
diff --git a/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs b/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..85b0e4b31b57585991453d58c4edfa09b273df03
--- /dev/null
+++ b/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs
@@ -0,0 +1,59 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Analyzer.Testing;
+using Microsoft.AspNetCore.Testing;
+using Microsoft.AspNetCore.Testing.xunit;
+using Microsoft.CodeAnalysis;
+
+namespace Microsoft.AspNetCore.Analyzers
+{
+    public abstract class AnalyzerTestBase
+    {
+        private static readonly string ProjectDirectory = GetProjectDirectory();
+
+        public TestSource Read(string source)
+        {
+            var filePath = Path.Combine(ProjectDirectory, "TestFiles", GetType().Name, source);
+            if (!File.Exists(filePath))
+            {
+                throw new FileNotFoundException($"TestFile {source} could not be found at {filePath}.", filePath);
+            }
+
+            var fileContent = File.ReadAllText(filePath);
+            return TestSource.Read(fileContent);
+        }
+
+        public Project CreateProject(string source)
+        {
+            if (!source.EndsWith(".cs"))
+            {
+                source = source + ".cs";
+            }
+
+            var read = Read(source);
+            return DiagnosticProject.Create(GetType().Assembly, new[] { read.Source, });
+        }
+
+        public Task<Compilation> CreateCompilationAsync(string source)
+        {
+            return CreateProject(source).GetCompilationAsync();
+        }
+
+        private static string GetProjectDirectory()
+        {
+            // On helix we use the published test files 
+            if (SkipOnHelixAttribute.OnHelix())
+            {
+                return AppContext.BaseDirectory;
+            }
+
+            var solutionDirectory = TestPathUtilities.GetSolutionRootDirectory("Analyzers");
+            var projectDirectory = Path.Combine(solutionDirectory, "Analyzers", "test");
+            return projectDirectory;
+        }
+    }
+}
diff --git a/src/Analyzers/Analyzers/test/Microsoft.AspNetCore.Analyzers.Test.csproj b/src/Analyzers/Analyzers/test/Microsoft.AspNetCore.Analyzers.Test.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..59b34f4d466efa9e378d42080e14538e211a39b4
--- /dev/null
+++ b/src/Analyzers/Analyzers/test/Microsoft.AspNetCore.Analyzers.Test.csproj
@@ -0,0 +1,30 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <PreserveCompilationContext>true</PreserveCompilationContext>
+    <RootNamespace>Microsoft.AspNetCore.Analyzers</RootNamespace>
+    <!-- https://github.com/aspnet/AspNetCore/issues/6549 -->
+    <BuildHelixPayload>false</BuildHelixPayload>
+   </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(SharedSourceRoot)test\SkipOnHelixAttribute.cs" />
+    <Content Include="TestFiles\**\*.*" CopyToPublishDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\src\Microsoft.AspNetCore.Analyzers.csproj" />
+
+    <Reference Include="Microsoft.AspNetCore.Analyzer.Testing" />
+    <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" />
+
+    <!--
+        These tests include startup code for most parts of our stack. This list will grow as we add more.
+    -->
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
+    <Reference Include="Microsoft.AspNetCore.Mvc" />
+    <Reference Include="Microsoft.AspNetCore.SignalR" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Analyzers/Analyzers/test/StartupFactsTest.cs b/src/Analyzers/Analyzers/test/StartupFactsTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b7a25e85a38f189f38ad91c597aa76eab011d7e5
--- /dev/null
+++ b/src/Analyzers/Analyzers/test/StartupFactsTest.cs
@@ -0,0 +1,142 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Analyzers.TestFiles.StartupFactsTest;
+using Microsoft.CodeAnalysis;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Analyzers
+{
+    public class StartupFactsTest : AnalyzerTestBase
+    {
+        [Theory]
+        [InlineData(nameof(BasicStartup), nameof(BasicStartup.ConfigureServices))]
+        [InlineData(nameof(EnvironmentStartup), nameof(EnvironmentStartup.ConfigureDevelopmentServices))]
+        [InlineData(nameof(EnvironmentStartup), nameof(EnvironmentStartup.configurePRODUCTIONservices))]
+        public async Task IsConfigureServices_FindsConfigureServicesMethod(string source, string methodName)
+        {
+            // Arrange
+            var compilation = await CreateCompilationAsync(source);
+            var symbols = new StartupSymbols(compilation);
+
+            var type = (INamedTypeSymbol)compilation.GetSymbolsWithName(source).Single();
+            var methods = type.GetMembers(methodName).Cast<IMethodSymbol>();
+
+            foreach (var method in methods)
+            {
+                // Act
+                var result = StartupFacts.IsConfigureServices(symbols, method);
+
+                // Assert
+                Assert.True(result);
+            }
+        }
+
+        [Theory]
+        [InlineData(nameof(NotAStartupClass), nameof(NotAStartupClass.ConfigureServices))]
+        [InlineData(nameof(NotAStartupClass), nameof(NotAStartupClass.ConfigureSrvces))]
+
+        // This is an interesting case where a method follows both naming conventions.
+        [InlineData(nameof(EnvironmentStartup), nameof(EnvironmentStartup.ConfigureDevelopmentServices2))]
+        public async Task IsConfigureServices_RejectsNonConfigureServicesMethod(string source, string methodName)
+        {
+            // Arrange
+            var compilation = await CreateCompilationAsync(source);
+            var symbols = new StartupSymbols(compilation);
+
+            var type = (INamedTypeSymbol)compilation.GetSymbolsWithName(source).Single();
+            var methods = type.GetMembers(methodName).Cast<IMethodSymbol>();
+
+            foreach (var method in methods)
+            {
+                // Act
+                var result = StartupFacts.IsConfigureServices(symbols, method);
+
+                // Assert
+                Assert.False(result);
+            }
+        }
+
+        [Theory]
+        [InlineData(nameof(BasicStartup), nameof(BasicStartup.Configure))]
+        [InlineData(nameof(EnvironmentStartup), nameof(EnvironmentStartup.configurePRODUCTION))]
+        [InlineData(nameof(EnvironmentStartup), nameof(EnvironmentStartup.ConfigureDevelopmentServices2))]
+        public async Task IsConfigure_FindsConfigureMethod(string source, string methodName)
+        {
+            // Arrange
+            var compilation = await CreateCompilationAsync(source);
+            var symbols = new StartupSymbols(compilation);
+
+            var type = (INamedTypeSymbol)compilation.GetSymbolsWithName(source).Single();
+            var methods = type.GetMembers(methodName).Cast<IMethodSymbol>();
+
+            foreach (var method in methods)
+            {
+                // Act
+                var result = StartupFacts.IsConfigure(symbols, method);
+
+                // Assert
+                Assert.True(result);
+            }
+        }
+
+        [Theory]
+        [InlineData(nameof(NotAStartupClass), nameof(NotAStartupClass.Configure))]
+        [InlineData(nameof(NotAStartupClass), nameof(NotAStartupClass.Configur))]
+        public async Task IsConfigure_RejectsNonConfigureMethod(string source, string methodName)
+        {
+            // Arrange
+            var compilation = await CreateCompilationAsync(source);
+            var symbols = new StartupSymbols(compilation);
+
+            var type = (INamedTypeSymbol)compilation.GetSymbolsWithName(source).Single();
+            var methods = type.GetMembers(methodName).Cast<IMethodSymbol>();
+
+            foreach (var method in methods)
+            {
+                // Act
+                var result = StartupFacts.IsConfigure(symbols, method);
+
+                // Assert
+                Assert.False(result);
+            }
+        }
+
+        [Theory]
+        [InlineData(nameof(BasicStartup))]
+        [InlineData(nameof(EnvironmentStartup))]
+        public async Task IsStartupClass_FindsStartupClass(string source)
+        {
+            // Arrange
+            var compilation = await CreateCompilationAsync(source);
+            var symbols = new StartupSymbols(compilation);
+
+            var type = (INamedTypeSymbol)compilation.GetSymbolsWithName(source).Single();
+
+            // Act
+            var result = StartupFacts.IsStartupClass(symbols, type);
+
+            // Assert
+            Assert.True(result);
+        }
+
+        [Theory]
+        [InlineData(nameof(NotAStartupClass))]
+        public async Task IsStartupClass_RejectsNotStartupClass(string source)
+        {
+            // Arrange
+            var compilation = await CreateCompilationAsync(source);
+            var symbols = new StartupSymbols(compilation);
+
+            var type = (INamedTypeSymbol)compilation.GetSymbolsWithName(source).Single();
+
+            // Act
+            var result = StartupFacts.IsStartupClass(symbols, type);
+
+            // Assert
+            Assert.False(result);
+        }
+    }
+}
diff --git a/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/BasicStartup.cs b/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/BasicStartup.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7447e5e001e59ff340916933f7d11deeeb2ebacd
--- /dev/null
+++ b/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/BasicStartup.cs
@@ -0,0 +1,19 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Microsoft.AspNetCore.Analyzers.TestFiles.StartupFactsTest
+{
+    public class BasicStartup
+    {
+        public void ConfigureServices(IServiceCollection services)
+        {
+        }
+
+        public void Configure(IApplicationBuilder app)
+        {
+        }
+    }
+}
diff --git a/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/EnvironmentStartup.cs b/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/EnvironmentStartup.cs
new file mode 100644
index 0000000000000000000000000000000000000000..434a451277d883d474ef919e7a6ee9f626469cc9
--- /dev/null
+++ b/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/EnvironmentStartup.cs
@@ -0,0 +1,30 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+
+namespace Microsoft.AspNetCore.Analyzers.TestFiles.StartupFactsTest
+{
+    public class EnvironmentStartup
+    {
+        public void ConfigureDevelopmentServices(IServiceCollection services)
+        {
+        }
+
+        public void configurePRODUCTIONservices(IServiceCollection services)
+        {
+        }
+
+        // Yes, this is technically a Configure method - if you have an Enviroment called DevelopmentServices2.
+        public static void ConfigureDevelopmentServices2(IConfiguration configuration, ILogger logger, IApplicationBuilder app)
+        {
+        }
+
+        public static void configurePRODUCTION(IConfiguration configuration, ILogger logger, IApplicationBuilder app)
+        {
+        }
+    }
+}
diff --git a/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/NotAStartupClass.cs b/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/NotAStartupClass.cs
new file mode 100644
index 0000000000000000000000000000000000000000..74948f1e72d0d6cbf11cdafe278e51be6991a51e
--- /dev/null
+++ b/src/Analyzers/Analyzers/test/TestFiles/StartupFactsTest/NotAStartupClass.cs
@@ -0,0 +1,47 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace Microsoft.AspNetCore.Analyzers.TestFiles.StartupFactsTest
+{
+    public class NotAStartupClass
+    {
+        // no args - not a ConfigureServices (technically it is, but we exclude this case).
+        public void ConfigureServices()
+        {
+        }
+
+        // extra arg - not a ConfigureServices
+        public void ConfigureServices(IServiceCollection services, string x)
+        {
+        }
+
+        // wrong name - not a ConfigureServices
+        public void ConfigureSrvces(IServiceCollection services)
+        {
+        }
+
+        // non-public - not a ConfigureServices
+        internal void ConfigureServices(IServiceCollection services)
+        {
+        }
+
+        // no IApplicationBuilder - not a Configure
+        public void Configure(IConfiguration configuration)
+        {
+        }
+
+        // wrong prefix - not a Configure
+        public void Configur(IApplicationBuilder app)
+        {
+        }
+
+        // non-public - not a Configure
+        internal void Configure(IApplicationBuilder app)
+        {
+        }
+    }
+}
diff --git a/src/Analyzers/build.cmd b/src/Analyzers/build.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..033fe6f6146851cbeaf23c53a480a594dc9ac421
--- /dev/null
+++ b/src/Analyzers/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\build.cmd -projects %~dp0\**\*.*proj %*
diff --git a/src/Analyzers/build.sh b/src/Analyzers/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..7046bb98a0fc242399a70d813c1eb51fa8dbd462
--- /dev/null
+++ b/src/Analyzers/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+repo_root="$DIR/../.."
+"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Analyzers/shared/FeatureDetection/Microsoft.AspNetCore.Analyzers.FeatureDetection.Sources.csproj b/src/Analyzers/shared/FeatureDetection/Microsoft.AspNetCore.Analyzers.FeatureDetection.Sources.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..81c027292be71d9a22e16d7482df4bfa671691c0
--- /dev/null
+++ b/src/Analyzers/shared/FeatureDetection/Microsoft.AspNetCore.Analyzers.FeatureDetection.Sources.csproj
@@ -0,0 +1,53 @@
+<Project>
+
+  <Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
+
+  <PropertyGroup>
+    <!-- This does not represent the TFM for the code. It's only here because /t:Pack requires it. -->
+    <TargetFramework>netstandard1.0</TargetFramework>
+    <IsPackable>true</IsPackable>
+    <IsShipping>false</IsShipping>
+    <NoBuild>true</NoBuild>
+    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <EnableDefaultItems>false</EnableDefaultItems>
+    <IncludeBuildOutput>false</IncludeBuildOutput>
+    <IncludeSymbols>false</IncludeSymbols>
+    <ContentTargetFolders>contentFiles</ContentTargetFolders>
+    <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
+    <DefaultExcludeItems>$(DefaultExcludeItems);$(BaseOutputPath);$(BaseIntermediateOutputPath);</DefaultExcludeItems>
+    <NoWarn>$(NoWarn);NU5105;CS8021</NoWarn>
+    <IsProjectReferenceProvider>false</IsProjectReferenceProvider>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(MSBuildProjectDirectory)\**\*.cs" Exclude="$(DefaultExcludeItems)">
+      <Pack>true</Pack>
+      <PackagePath>$(ContentTargetFolders)\cs\netstandard1.0\shared\</PackagePath>
+    </Compile>
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="../../Analyzers/src/StartupFacts.cs">
+      <Link>%(FileName)%(Extension)</Link>
+      <Pack>true</Pack>
+      <PackagePath>$(ContentTargetFolders)\cs\netstandard1.0\shared\</PackagePath>
+    </Compile>
+    <Compile Include="../../Analyzers/src/StartupSymbols.cs">
+      <Link>%(FileName)%(Extension)</Link>
+      <Pack>true</Pack>
+      <PackagePath>$(ContentTargetFolders)\cs\netstandard1.0\shared\</PackagePath>
+    </Compile>
+    <Compile Include="../../Analyzers/src/SymbolNames.cs">
+      <Link>%(FileName)%(Extension)</Link>
+      <Pack>true</Pack>
+      <PackagePath>$(ContentTargetFolders)\cs\netstandard1.0\shared\</PackagePath>
+    </Compile>
+  </ItemGroup>
+
+  <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
+
+  <!-- This project does not produce a binary. Disable the compiler. -->
+  <Target Name="Compile" />
+  <Target Name="CopyFilesToOutputDirectory" />
+</Project>
diff --git a/src/Analyzers/startvs.cmd b/src/Analyzers/startvs.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..9f4a9fdee9999c086633e44c58246f725613d362
--- /dev/null
+++ b/src/Analyzers/startvs.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+
+%~dp0..\..\startvs.cmd %~dp0Analyzers.sln
diff --git a/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
index 3ad086e33b15a4583fec287b50b8f75102a38fdb..abd1e5e519c01420f36ea9f82a3776f1f5382245 100644
--- a/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
+++ b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>netstandard1.3</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
     <IncludeBuildOutput>false</IncludeBuildOutput>
     <NoPackageAnalysis>true</NoPackageAnalysis>
     <GenerateDocumentationFile>false</GenerateDocumentationFile>
diff --git a/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj b/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj
index 83e63858149bafa5736fbe7f93cd6e792fa12420..1e92917e80e974d716d8a773bb8a20e0b46a8ef6 100644
--- a/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj
+++ b/src/Mvc/Mvc.Analyzers/src/Microsoft.AspNetCore.Mvc.Analyzers.csproj
@@ -5,7 +5,7 @@
      <!-- This package is for internal use only. It contains analyzers that are bundled in the .NET Core WebSDK. -->
     <IsShippingPackage>false</IsShippingPackage>
 
-    <TargetFramework>netstandard1.3</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
     <IncludeBuildOutput>false</IncludeBuildOutput>
     <GenerateDocumentationFile>false</GenerateDocumentationFile>
     <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
diff --git a/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalysisContext.cs b/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalysisContext.cs
index 9d2ff14ba1dc832d56ecf47fc992c11c01f00eff..12dc164ba9b61fc6e2e00d5437a77547dc4b8762 100644
--- a/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalysisContext.cs
+++ b/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalysisContext.cs
@@ -7,6 +7,7 @@ namespace Microsoft.AspNetCore.Analyzers
 {
     internal class StartupAnalysisContext
     {
+#pragma warning disable RS1012 // Start action has no registered actions.
         public StartupAnalysisContext(OperationBlockStartAnalysisContext operationBlockStartAnalysisContext, StartupSymbols startupSymbols)
         {
             OperationBlockStartAnalysisContext = operationBlockStartAnalysisContext;
@@ -16,5 +17,6 @@ namespace Microsoft.AspNetCore.Analyzers
         public OperationBlockStartAnalysisContext OperationBlockStartAnalysisContext { get; }
 
         public StartupSymbols StartupSymbols { get; }
+#pragma warning restore RS1012 // Start action has no registered actions.
     }
 }
diff --git a/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalzyer.cs b/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalzyer.cs
index be2a9ebb8805b0310e491d84bd6094055c959ea4..983ad54a5043a9a38115e992a60ae8e2ed2c2bc7 100644
--- a/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalzyer.cs
+++ b/src/Mvc/Mvc.Analyzers/src/Startup/StartupAnalzyer.cs
@@ -131,7 +131,7 @@ namespace Microsoft.AspNetCore.Analyzers
                 OnConfigureMethodFound(method);
             }
         }
-
+#pragma warning disable RS1012 // Start action has no registered actions.
         private bool IsStartupFile(OperationBlockStartAnalysisContext context)
         {
             foreach (var location in context.OwningSymbol.Locations)
@@ -144,5 +144,6 @@ namespace Microsoft.AspNetCore.Analyzers
 
             return false;
         }
+#pragma warning restore RS1012 // Start action has no registered actions.
     }
 }
diff --git a/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixAction.cs b/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixAction.cs
index d138d6afb15ca96d0decb8aa5d1d01e7f27a73ea..18b82c2ae1b6fd5b8e22c3d629c7e2a52442f90e 100644
--- a/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixAction.cs
+++ b/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixAction.cs
@@ -37,6 +37,8 @@ namespace Microsoft.AspNetCore.Mvc.Api.Analyzers
             _diagnostic = diagnostic;
         }
 
+        public override string EquivalenceKey => _diagnostic.Location.ToString();
+
         public override string Title => "Add ProducesResponseType attributes.";
 
         protected override async Task<Document> GetChangedDocumentAsync(CancellationToken cancellationToken)
diff --git a/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixProvider.cs b/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixProvider.cs
index a5a2a626137f4a6e980408b19a2da60e4ca564ff..bd9734e0b2ad50782013429db3d49156cdd6cff7 100644
--- a/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixProvider.cs
+++ b/src/Mvc/Mvc.Api.Analyzers/src/AddResponseTypeAttributeCodeFixProvider.cs
@@ -17,6 +17,8 @@ namespace Microsoft.AspNetCore.Mvc.Api.Analyzers
             ApiDiagnosticDescriptors.API1000_ActionReturnsUndocumentedStatusCode.Id,
             ApiDiagnosticDescriptors.API1001_ActionReturnsUndocumentedSuccessResult.Id);
 
+        public override FixAllProvider GetFixAllProvider() => WellKnownFixAllProviders.BatchFixer;
+
         public sealed override Task RegisterCodeFixesAsync(CodeFixContext context)
         {
             if (context.Diagnostics.Length == 0)
diff --git a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
index ad062a74033127041b4b89f6fad32342c8c3ec42..f5efb230a265584bd7d25e78cfb0c5cea49879db 100644
--- a/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
+++ b/src/Mvc/Mvc.Api.Analyzers/src/Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
@@ -5,7 +5,7 @@
      <!-- This package is for internal use only. It contains analyzers that are bundled in the .NET Core WebSDK. -->
     <IsShippingPackage>false</IsShippingPackage>
 
-    <TargetFramework>netstandard1.3</TargetFramework>
+    <TargetFramework>netstandard2.0</TargetFramework>
     <IncludeBuildOutput>false</IncludeBuildOutput>
     <GenerateDocumentationFile>false</GenerateDocumentationFile>
     <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>