Repository: ivaylokenov/AspNet.Mvc.TypedRouting
Branch: master
Commit: 2994a608364e
Files: 145
Total size: 3.0 MB
Directory structure:
gitextract_oe320llw/
├── .gitignore
├── AspNet.Mvc.TypedRouting.sln
├── LICENSE
├── README.md
├── global.json
├── samples/
│ ├── PerformanceTest/
│ │ ├── PerformanceTest.xproj
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── Startup.cs
│ │ ├── project.json
│ │ └── project.lock.json
│ └── TypedRoutingWebSite/
│ ├── .bowerrc
│ ├── Areas/
│ │ └── Admin/
│ │ └── Views/
│ │ └── Area/
│ │ ├── Index.cshtml
│ │ └── ToOther.cshtml
│ ├── Controllers/
│ │ ├── AccountController.cs
│ │ ├── AreaController.cs
│ │ ├── ExpressionsController.cs
│ │ ├── HomeController.cs
│ │ ├── ManageController.cs
│ │ └── OtherAreaController.cs
│ ├── Data/
│ │ ├── ApplicationDbContext.cs
│ │ └── Migrations/
│ │ ├── 00000000000000_CreateIdentitySchema.Designer.cs
│ │ ├── 00000000000000_CreateIdentitySchema.cs
│ │ └── ApplicationDbContextModelSnapshot.cs
│ ├── Models/
│ │ ├── AccountViewModels/
│ │ │ ├── ExternalLoginConfirmationViewModel.cs
│ │ │ ├── ForgotPasswordViewModel.cs
│ │ │ ├── LoginViewModel.cs
│ │ │ ├── RegisterViewModel.cs
│ │ │ ├── ResetPasswordViewModel.cs
│ │ │ ├── SendCodeViewModel.cs
│ │ │ └── VerifyCodeViewModel.cs
│ │ ├── ApplicationUser.cs
│ │ └── ManageViewModels/
│ │ ├── AddPhoneNumberViewModel.cs
│ │ ├── ChangePasswordViewModel.cs
│ │ ├── ConfigureTwoFactorViewModel.cs
│ │ ├── FactorViewModel.cs
│ │ ├── IndexViewModel.cs
│ │ ├── ManageLoginsViewModel.cs
│ │ ├── RemoveLoginViewModel.cs
│ │ ├── SetPasswordViewModel.cs
│ │ └── VerifyPhoneNumberViewModel.cs
│ ├── Program.cs
│ ├── Project_Readme.html
│ ├── Properties/
│ │ └── launchSettings.json
│ ├── Services/
│ │ ├── IEmailSender.cs
│ │ ├── ISmsSender.cs
│ │ └── MessageServices.cs
│ ├── Startup.cs
│ ├── TypedRoutingWebSite.xproj
│ ├── Views/
│ │ ├── Account/
│ │ │ ├── ConfirmEmail.cshtml
│ │ │ ├── ExternalLoginConfirmation.cshtml
│ │ │ ├── ExternalLoginFailure.cshtml
│ │ │ ├── ForgotPassword.cshtml
│ │ │ ├── ForgotPasswordConfirmation.cshtml
│ │ │ ├── Lockout.cshtml
│ │ │ ├── Login.cshtml
│ │ │ ├── Register.cshtml
│ │ │ ├── ResetPassword.cshtml
│ │ │ ├── ResetPasswordConfirmation.cshtml
│ │ │ ├── SendCode.cshtml
│ │ │ └── VerifyCode.cshtml
│ │ ├── Home/
│ │ │ ├── About.cshtml
│ │ │ ├── Contact.cshtml
│ │ │ ├── Index.cshtml
│ │ │ ├── Razor.cshtml
│ │ │ └── ToArea.cshtml
│ │ ├── Manage/
│ │ │ ├── AddPhoneNumber.cshtml
│ │ │ ├── ChangePassword.cshtml
│ │ │ ├── Index.cshtml
│ │ │ ├── ManageLogins.cshtml
│ │ │ ├── SetPassword.cshtml
│ │ │ └── VerifyPhoneNumber.cshtml
│ │ ├── Shared/
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ ├── _LoginPartial.cshtml
│ │ │ └── _ValidationScriptsPartial.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.json
│ ├── bower.json
│ ├── gulpfile.js
│ ├── package.json
│ ├── project.json
│ ├── project.lock.json
│ ├── web.config
│ └── wwwroot/
│ ├── _references.js
│ ├── css/
│ │ └── site.css
│ ├── js/
│ │ └── site.js
│ └── lib/
│ ├── bootstrap/
│ │ ├── .bower.json
│ │ ├── LICENSE
│ │ └── dist/
│ │ ├── css/
│ │ │ ├── bootstrap-theme.css
│ │ │ └── bootstrap.css
│ │ └── js/
│ │ ├── bootstrap.js
│ │ └── npm.js
│ ├── jquery/
│ │ ├── .bower.json
│ │ ├── LICENSE.txt
│ │ └── dist/
│ │ └── jquery.js
│ ├── jquery-validation/
│ │ ├── .bower.json
│ │ ├── LICENSE.md
│ │ └── dist/
│ │ ├── additional-methods.js
│ │ └── jquery.validate.js
│ └── jquery-validation-unobtrusive/
│ ├── .bower.json
│ └── jquery.validate.unobtrusive.js
├── src/
│ └── AspNet.Mvc.TypedRouting/
│ ├── AspNet.Mvc.TypedRouting.xproj
│ ├── LinkGeneration/
│ │ ├── ControllerExtensions.cs
│ │ ├── ExpressionRouteHelper.cs
│ │ ├── ExpressionRouteValues.cs
│ │ ├── HtmlHelperExtensions.cs
│ │ ├── IExpressionRouteHelper.cs
│ │ ├── IUniqueRouteKeysProvider.cs
│ │ ├── LinkGenerationControllerModelConvention.cs
│ │ ├── ServiceProviderExtensions.cs
│ │ ├── UniqueRouteKeysProvider.cs
│ │ └── UrlHelperExtensions.cs
│ ├── MvcBuilderExtensions.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Routing/
│ │ ├── ITypedRoute.cs
│ │ ├── ITypedRouteBuilder.cs
│ │ ├── ITypedRouteDetails.cs
│ │ ├── TypedRoute.cs
│ │ ├── TypedRouteBuilder.cs
│ │ └── TypedRoutingControllerModelConvention.cs
│ ├── With.cs
│ ├── project.json
│ └── project.lock.json
├── test/
│ ├── AspNet.Mvc.TypedRouting.Test/
│ │ ├── AspNet.Mvc.TypedRouting.Test.xproj
│ │ ├── LinkGeneration/
│ │ │ ├── ControllerExtensionsTest.cs
│ │ │ ├── ExpressionRouteHelperTest.cs
│ │ │ ├── HtmlHelperExtensionsTest.cs
│ │ │ └── UrlHelperExtensionsTest.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── Setups/
│ │ │ └── TestOptionsManager.cs
│ │ ├── TestInit.cs
│ │ ├── TestServices.cs
│ │ ├── project.json
│ │ └── project.lock.json
│ └── TypedRoutingWebSite.Test/
│ ├── LinkGenerationTest.cs
│ ├── Properties/
│ │ └── AssemblyInfo.cs
│ ├── SolutionPathUtility.cs
│ ├── TestStartup.cs
│ ├── TypedRoutingTest.cs
│ ├── TypedRoutingWebSite.Test.xproj
│ ├── appsettings.json
│ ├── project.json
│ └── project.lock.json
└── tools/
└── Key.snk
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
# Visual Studo 2015 cache/options directory
.vs/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding addin-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Others
*.[Cc]ache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
================================================
FILE: AspNet.Mvc.TypedRouting.sln
================================================
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D9D2AFBF-23D3-46CA-ADF1-5F111CAD0D18}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "global", "global", "{42EEF8E2-72E7-42DF-A6DE-43940DAE4418}"
ProjectSection(SolutionItems) = preProject
global.json = global.json
EndProjectSection
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "AspNet.Mvc.TypedRouting", "src\AspNet.Mvc.TypedRouting\AspNet.Mvc.TypedRouting.xproj", "{EEEB8D01-924D-483D-A8A8-3A5C896DA24B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{2F197EC9-0599-4154-9FFD-34933B53BE42}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "AspNet.Mvc.TypedRouting.Test", "test\AspNet.Mvc.TypedRouting.Test\AspNet.Mvc.TypedRouting.Test.xproj", "{9157D6DC-2FEE-4B26-91B0-4B22904039C0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E939CC2E-1D2C-412F-97BB-44FA494F1E60}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "PerformanceTest", "samples\PerformanceTest\PerformanceTest.xproj", "{67E0D398-07BF-4758-85B5-6171D31A6684}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "TypedRoutingWebSite.Test", "test\TypedRoutingWebSite.Test\TypedRoutingWebSite.Test.xproj", "{0A4C9E81-565E-4028-B5EB-2448A95D278C}"
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "TypedRoutingWebSite", "samples\TypedRoutingWebSite\TypedRoutingWebSite.xproj", "{3A8FD494-B962-4234-9377-E22FF13185F9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EEEB8D01-924D-483D-A8A8-3A5C896DA24B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EEEB8D01-924D-483D-A8A8-3A5C896DA24B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EEEB8D01-924D-483D-A8A8-3A5C896DA24B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEEB8D01-924D-483D-A8A8-3A5C896DA24B}.Release|Any CPU.Build.0 = Release|Any CPU
{9157D6DC-2FEE-4B26-91B0-4B22904039C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9157D6DC-2FEE-4B26-91B0-4B22904039C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9157D6DC-2FEE-4B26-91B0-4B22904039C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9157D6DC-2FEE-4B26-91B0-4B22904039C0}.Release|Any CPU.Build.0 = Release|Any CPU
{67E0D398-07BF-4758-85B5-6171D31A6684}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{67E0D398-07BF-4758-85B5-6171D31A6684}.Debug|Any CPU.Build.0 = Debug|Any CPU
{67E0D398-07BF-4758-85B5-6171D31A6684}.Release|Any CPU.ActiveCfg = Release|Any CPU
{67E0D398-07BF-4758-85B5-6171D31A6684}.Release|Any CPU.Build.0 = Release|Any CPU
{0A4C9E81-565E-4028-B5EB-2448A95D278C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A4C9E81-565E-4028-B5EB-2448A95D278C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A4C9E81-565E-4028-B5EB-2448A95D278C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A4C9E81-565E-4028-B5EB-2448A95D278C}.Release|Any CPU.Build.0 = Release|Any CPU
{3A8FD494-B962-4234-9377-E22FF13185F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3A8FD494-B962-4234-9377-E22FF13185F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3A8FD494-B962-4234-9377-E22FF13185F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3A8FD494-B962-4234-9377-E22FF13185F9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{EEEB8D01-924D-483D-A8A8-3A5C896DA24B} = {D9D2AFBF-23D3-46CA-ADF1-5F111CAD0D18}
{9157D6DC-2FEE-4B26-91B0-4B22904039C0} = {2F197EC9-0599-4154-9FFD-34933B53BE42}
{67E0D398-07BF-4758-85B5-6171D31A6684} = {E939CC2E-1D2C-412F-97BB-44FA494F1E60}
{0A4C9E81-565E-4028-B5EB-2448A95D278C} = {2F197EC9-0599-4154-9FFD-34933B53BE42}
{3A8FD494-B962-4234-9377-E22FF13185F9} = {E939CC2E-1D2C-412F-97BB-44FA494F1E60}
EndGlobalSection
EndGlobal
================================================
FILE: LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2015-2016 Ivaylo Kenov
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
AspNet.Mvc.TypedRouting - Typed routing
and link generation for ASP.NET Core MVC
====================================
Resolving controller and action names for various purposes in ASP.NET MVC was always unreliable because the framework uses magic strings in its methods (for example `Url.Action("Action", "Controller")`). With the C# 6.0 `nameof` operator, the problem was partially solved. However, `nameof` cannot be used with various MVC Core features like `ActionNameAttribute`, `AreaAttribute`, `RouteValueAttribute`, `IControllerModelConvention`, `IActionModelConvention`, `IParameterModelConvention` and more. Here comes `AspNet.Mvc.TypedRouting` to the rescue!
This package gives you typed expression based routing and link generation in a [ASP.NET Core MVC](https://github.com/aspnet/Mvc) web application. Currently working with version 1.1.0.
For example:
```c#
// adding route to specific action
routes.Add("MyRoute/{id}", route => route.ToAction(a => a.Index()))
// generating action link
Html.ActionLink("Index", c => c.Index())
```
[](https://ci.appveyor.com/project/ivaylokenov/aspnet-mvc-typedrouting) [](https://github.com/ivaylokenov/AspNet.Mvc.TypedRouting/blob/master/LICENSE) [](https://www.nuget.org/packages/AspNet.Mvc.TypedRouting/)
## Installation
You can install this library using NuGet into your web project. There is no need to add any namespace usings since the package uses the default ones to add extension methods.
Install-Package AspNet.Mvc.TypedRouting
For other interesting packages check out:
- [MyTested.AspNetCore.Mvc](https://github.com/ivaylokenov/MyTested.AspNetCore.Mvc) - fluent testing framework for ASP.NET Core MVC
- [MyTested.HttpServer](https://github.com/ivaylokenov/MyTested.HttpServer) - fluent testing framework for remote HTTP servers
- [MyTested.WebApi](https://github.com/ivaylokenov/MyTested.WebApi) - fluent testing framework for ASP.NET Web API 2
- [ASP.NET MVC 5 Lambda Expression Helpers](https://github.com/ivaylokenov/ASP.NET-MVC-Lambda-Expression-Helpers) - typed expression based link generation for ASP.NET MVC 5
## How to use
Just add `AddTypedRouting()` after `AddMvc` into your `Startup` class:
```c#
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddTypedRouting();
}
```
You can check the provided [sample](https://github.com/ivaylokenov/AspNet.Mvc.TypedRouting/tree/master/samples/TypedRoutingWebSite) to see a working web application with this library.
To register a typed route into your application, add the following line:
```c#
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddTypedRouting(routes =>
{
routes.Get("MyRoute/{id}", route => route.ToAction(a => a.Index(With.Any())));
});
}
```
This will register route http://mysite.com/MyRoute/{id} to match 'HomeController', 'Index' action with any integer as 'id'. Full list of available methods:
```c#
// adding route to specific controller and action name taken from name of method
routes.Add("MyRoute/{action}", route => route.ToController());
// adding route to specific action without parameters
routes.Add("MyRoute/MyAction", route => route.ToAction(a => a.Index()));
// adding route to specific action with any parameters
// * With.Any() is just expressive sugar, you can pass any value
routes.Add("MyRoute/MyAction/{id}", route => route.ToAction(a => a.Index(With.Any())));
// adding route with specific name
routes.Add("MyRoute/MyAction", route => route
.ToAction(a => a.Index())
.WithName("RouteName"));
// adding route with custom action constraint
routes.Add("MyRoute/MyAction", route => route
.ToAction(a => a.Index())
.WithActionConstraint(new MyCustomConstraint()));
// adding route to specific HTTP methods
routes.Add("MyRoute/MyAction", route => route
.ToAction(a => a.Index())
.ForHttpMethods("GET", "POST"));
// you can also specify methods without magic strings
routes.Get("MyRoute/MyAction", route => route.ToAction(a => a.Index()));
routes.Post("MyRoute/MyAction", route => route.ToAction(a => a.Index()));
routes.Put("MyRoute/MyAction", route => route.ToAction(a => a.Index()));
routes.Delete("MyRoute/MyAction", route => route.ToAction(a => a.Index()));
```
Additionally, you can use typed link generation:
```c#
// generating link without parameters - /Home/Index
urlHelper.Action(c => c.Index());
// generating link with parameters - /Home/Index/1
urlHelper.Action(c => c.Index(1));
// generating link with additional route values - /Home/Index/1?key=value
urlHelper.Action(c => c.Index(1), new { key = "value" });
// generating link where action needs parameters to be compiled, but you do not want to pass them - /Home/Index
// * With.No() is just expressive sugar, you can pass 'null' for reference types but it looks ugly
urlHelper.Action(c => c.Index(With.No()));
```
All methods resolve all kinds of route changing features like `ActionNameAttribute`, `AreaAttribute`, `RouteConstraintAttribute`, `IControllerModelConvention`, `IActionModelConvention`, `IParameterModelConvention` and potentially others. The expressions use the internally created by the MVC framework `ControllerActionDescriptor` objects, which contain all route specific information.
### Controller extension methods:
```c#
// uses the same controller in the expression and created object
controller.CreatedAtAction(c => c.Index(), someObject);
// uses the same controller in the expression, additional route values and created object
controller.CreatedAtAction(c => c.Index(), new { key = "value" }, someObject);
// uses another controller in the expression and created object
controller.CreatedAtAction(c => c.Index(), someObject);
// uses another controller in the expression, additional route values and created object
controller.CreatedAtAction(c => c.Index(), new { key = "value" }, someObject);
// uses route name, the same controller in the expression and created object
controller.CreatedAtRoute("RouteName", c => c.Index(), someObject);
// uses route name, the same controller in the expression, additional route values and created object
controller.CreatedAtRoute("RouteName", c => c.Index(), new { key = "value" }, someObject);
// uses route name, another controller in the expression and created object
controller.CreatedAtRoute("RouteName", c => c.Index(), someObject);
// uses route name, another controller in the expression, additional route values and created object
controller.CreatedAtRoute("RouteName", c => c.Index(), new { key = "value" }, someObject);
// uses the same controller in the expression to return redirect result
controller.RedirectToAction(c => c.Index());
// uses the same controller in the expression and additional route values to return redirect result
controller.RedirectToAction(c => c.Index(), new { key = "value" });
// uses another controller in the expression to return redirect result
controller.RedirectToAction(c => c.Index());
// uses another controller in the expression and additional route values to return redirect result
controller.RedirectToAction(c => c.Index(), new { key = "value" });
// uses the same controller in the expression to return permanent redirect result
controller.RedirectToActionPermanent(c => c.Index());
// uses the same controller in the expression and additional route values to return permanent redirect result
controller.RedirectToActionPermanent(c => c.Index(), new { key = "value" });
// uses another controller in the expression to return permanent redirect result
controller.RedirectToActionPermanent(c => c.Index());
// uses another controller in the expression and additional route values to return permanent redirect result
controller.RedirectToActionPermanent(c => c.Index(), new { key = "value" });
// uses route name, the same controller in the expression to return redirect result
controller.RedirectToRoute("RouteName", c => c.Index());
// uses route name, the same controller in the expression and additional route values to return redirect result
controller.RedirectToRoute("RouteName", c => c.Index(), new { key = "value" });
// uses route name, another controller in the expression to return redirect result
controller.RedirectToRoute("RouteName", c => c.Index());
// uses route name, another controller in the expression and additional route values to return redirect result
controller.RedirectToRoute("RouteName", c => c.Index(), new { key = "value" });
// uses route name, the same controller in the expression to return permanent redirect result
controller.RedirectToRoutePermanent("RouteName", c => c.Index());
// uses route name, the same controller in the expression and additional route values to return permanent redirect result
controller.RedirectToRoutePermanent("RouteName", c => c.Index(), new { key = "value" });
// uses route name, another controller in the expression to return permanent redirect result
controller.RedirectToRoutePermanent("RouteName", c => c.Index());
// uses route name, another controller in the expression and additional route values to return permanent redirect result
controller.RedirectToRoutePermanent("RouteName", c => c.Index(), new { key = "value" });
```
### IHtmlHelper extension methods:
```c#
// generates action link with the link text and the expression
Html.ActionLink("Link text", c => c.Index());
// generates action link with the link text, the expression and additional route values
Html.ActionLink("Link text", c => c.Index(), new { key = "value" });
// generates action link with the link text, the expression, additional route values and HTML attributes
Html.ActionLink("Link text", c => c.Index(), new { key = "value" }, new { @class = "my-class" });
// generates action link with the link text, the expression, protocol, host name, fragment, additional route values and HTML attributes
Html.ActionLink("Link text", c => c.Index(), "protocol", "hostname", "fragment", new { key = "value" }, new { @class = "my-class" });
// generates action link with route name, the link text and the expression
Html.RouteLink("Route name", "Link text", c => c.Index());
// generates action link with route name, the link text, the expression and additional route values
Html.RouteLink("Route name", "Link text", c => c.Index(), new { key = "value" });
// generates action link with route name, the link text, the expression, additional route values and HTML attributes
Html.RouteLink("Route name", "Link text", c => c.Index(), new { key = "value" }, new { @class = "my-class" });
// generates action link with route name, the link text, the expression, protocol, host name, fragment, additional route values and HTML attributes
Html.RouteLink("Route name", "Link text", c => c.Index(), "protocol", "hostname", "fragment", new { key = "value" }, new { @class = "my-class" });
// begins form to the action from the expression
Html.BeginForm(c => c.Index());
// begins form to the action from the expression and additional route values
Html.BeginForm(c => c.Index(), new { key = "value" });
// begins form to the action from the expression and form method
Html.BeginForm(c => c.Index(), FormMethod.Post);
// begins form to the action from the expression, additional route values and form method
Html.BeginForm(c => c.Index(), new { key = "value" }, FormMethod.Post);
// begins form to the action from the expression, form method and HTML attributes
Html.BeginForm(c => c.Index(), FormMethod.Post, new { @class = "my-class" });
// begins form to the action from the expression, form method and HTML attributes
Html.BeginForm(c => c.Index(), new { key = "value" }, FormMethod.Post, new { @class = "my-class" });
// begins form to the action from the expression by specifying route name
Html.BeginRouteForm("Route name", c => c.Index());
// begins form to the action from the expression and additional route values by specifying route name
Html.BeginRouteForm("Route name", c => c.Index(), new { key = "value" });
// begins form to the action from the expression and form method by specifying route name
Html.BeginRouteForm("Route name", c => c.Index(), FormMethod.Post);
// begins form to the action from the expression, additional route values and form method by specifying route name
Html.BeginRouteForm("Route name", c => c.Index(), new { key = "value" }, FormMethod.Post);
// begins form to the action from the expression, form method and HTML attributes by specifying route name
Html.BeginRouteForm("Route name", c => c.Index(), FormMethod.Post, new { @class = "my-class" });
// begins form to the action from the expression, form method and HTML attributes by specifying route name
Html.BeginRouteForm("Route name", c => c.Index(), new { key = "value" }, FormMethod.Post, new { @class = "my-class" });
```
* Note: All form generation methods have additional overloads which allow adding an anti-forgery token.
### IUrlHelper extension methods:
```c#
// generates link to the action from the expression
urlHelper.Action(c => c.Index());
// generates link to the action from the expression with additional route values
urlHelper.Action(c => c.Index(), new { key = "value" });
// generates link to the action from the expression with additional route values and protocol
urlHelper.Action(c => c.Index(), new { key = "value" }, "protocol");
// generates link to the action from the expression with additional route values, protocol and host name
urlHelper.Action(c => c.Index(), new { key = "value" }, "protocol", "hostname");
// generates link to the action from the expression with additional route values, protocol, host name and fragment
urlHelper.Action(c => c.Index(), new { key = "value" }, "protocol", "hostname", "fragment");
// generates link to the action from the expression by specifying route name
urlHelper.Link("Route name", c => c.Index());
// generates link to the action from the expression with additional route values and by specifying route name
urlHelper.Link("Route name", c => c.Index(), new { key = "value" });
```
Overloads for asynchronous actions are also available. All methods are well documented, tested and resolve route values successfully.
## Licence
Code by Ivaylo Kenov. Copyright 2015-2016 Ivaylo Kenov.
This package has MIT license. Refer to the [LICENSE](https://github.com/ivaylokenov/AspNet.Mvc.TypedRouting/blob/master/LICENSE) for detailed information.
## Any questions, comments or additions?
If you have a feature request or bug report, leave an issue on the [issues page](https://github.com/ivaylokenov/AspNet.Mvc.TypedRouting/issues) or send a [pull request](https://github.com/ivaylokenov/AspNet.Mvc.TypedRouting/pulls). For general questions and comments, use the [StackOverflow](http://stackoverflow.com/) forum.
================================================
FILE: global.json
================================================
{
"projects": [ "src", "test", "samples" ],
"sdk": {
"version": "1.0.0-preview2-1-003177"
}
}
================================================
FILE: samples/PerformanceTest/PerformanceTest.xproj
================================================
14.0
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
67e0d398-07bf-4758-85b5-6171d31a6684
PerformanceTest
..\..\artifacts\obj\$(MSBuildProjectName)
.\bin\
2.0
================================================
FILE: samples/PerformanceTest/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("PerformanceTest")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PerformanceTest")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("67e0d398-07bf-4758-85b5-6171d31a6684")]
================================================
FILE: samples/PerformanceTest/Startup.cs
================================================
namespace PerformanceTest
{
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Abstractions;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Threading;
using Microsoft.AspNetCore.Mvc.ApplicationParts;
using Microsoft.AspNetCore.Mvc.Internal;
using Microsoft.Extensions.DependencyInjection;
using Moq;
using AspNet.Mvc.TypedRouting.LinkGeneration;
public class Startup
{
private const int NumberOfIterations = 5000;
public static IServiceProvider Services { get; private set; }
// as described in http://www.codeproject.com/Articles/61964/Performance-Tests-Precise-Run-Time-Measurements-wi
public static void Main()
{
PrepareTypedRouting();
PrepareThread();
var urlHelper = CreateUrlHelper();
var id = 1;
var text = "text";
var model = new RequestModel { Integer = 2, String = "text" };
// Actions without parameters - 7 ms VS 20 ms
Console.WriteLine("Actions without parameters");
Console.WriteLine(new string('-', 40));
RunAndMeasure("(\"action\", \"controller\")",
() => urlHelper.Action("Action", "My")); // ~7 ms
RunAndMeasure("(c => c.Action())",
() => urlHelper.Action(c => c.Action())); // ~20 ms
Console.WriteLine(new string('-', 40));
// Actions with constant parameters - 8 ms VS 25 ms
Console.WriteLine("Actions with constant parameters");
Console.WriteLine(new string('-', 40));
RunAndMeasure("(\"action\", \"controller\", new { id = 1, text = \"text\" })",
() => urlHelper.Action("Action", "My", new { id = 1, text = "text" })); // ~8 ms
RunAndMeasure("(c => c.Action(1, \"text\"))",
() => urlHelper.Action(c => c.Action(1, "text"))); // ~25 ms
Console.WriteLine(new string('-', 40));
// Actions with variable primitive parameters - 8 ms VS 499 ms
Console.WriteLine("Actions with variable primitive parameters");
Console.WriteLine(new string('-', 40));
RunAndMeasure("(\"action\", \"controller\", new { id, text })",
() => urlHelper.Action("Action", "My", new { id, text })); // ~8 ms
RunAndMeasure("(c => c.Action(id, text))",
() => urlHelper.Action(c => c.Action(id, text))); // ~499 ms
Console.WriteLine(new string('-', 40));
// Actions with variable primitive parameters (using With.No) - 7 ms VS 70 ms
Console.WriteLine("Actions with variable primitive parameters (using With.No)");
Console.WriteLine(new string('-', 40));
RunAndMeasure("(\"action\", \"controller\", new { id, text })",
() => urlHelper.Action("Action", "My", new { id, text })); // ~7 ms
RunAndMeasure("(c => c.Action(id, text))",
() => urlHelper.Action(c => c.Action(With.No(), With.No()), new { id, text })); // ~70 ms
Console.WriteLine(new string('-', 40));
// Actions with variable reference parameters - 7 ms VS 692 ms
Console.WriteLine("Actions with variable reference parameters");
Console.WriteLine(new string('-', 40));
RunAndMeasure("(\"action\", \"controller\", new { id, model })",
() => urlHelper.Action("Action", "My", new { id, model })); // ~7 ms
RunAndMeasure("(c => c.Action(id, model))",
() => urlHelper.Action(c => c.Action(id, model))); // ~692 ms
Console.WriteLine(new string('-', 40));
// Actions with variable reference parameters (using With.No) - 8 ms VS 67 ms
Console.WriteLine("Actions with variable reference parameters (using With.No)");
Console.WriteLine(new string('-', 40));
RunAndMeasure("(\"action\", \"controller\", new { id, model })",
() => urlHelper.Action("Action", "My", new { id, model })); // ~8 ms
RunAndMeasure("(c => c.Action(With.No(), With.No()))",
() => urlHelper.Action(c => c.Action(With.No(), With.No()), new { id, model })); // ~67 ms
Console.WriteLine(new string('-', 40));
}
private static void RunAndMeasure(string text, Action action)
{
var stopwatch = new Stopwatch();
stopwatch.Start();
while (stopwatch.ElapsedMilliseconds < 1200) // A Warmup of 1000-1500 ms stabilizes the CPU cache and pipeline.
{
action(); // Warmup
}
stopwatch.Stop();
stopwatch.Reset();
stopwatch.Start();
for (int i = 0; i < NumberOfIterations; i++)
{
action();
}
stopwatch.Stop();
Console.WriteLine($"{text} - {stopwatch.Elapsed.Milliseconds} ms");
}
#region Prepare Typed Routing Tests
private static void PrepareThread()
{
Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(2);
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;
Thread.CurrentThread.Priority = ThreadPriority.Highest;
}
private static void PrepareTypedRouting()
{
// Run the full controller and action model building
// in order to simulate the default MVC behavior.
var applicationPartManager = new ApplicationPartManager();
applicationPartManager.ApplicationParts.Add(new AssemblyPart(Assembly.GetExecutingAssembly()));
applicationPartManager.FeatureProviders.Add(new ControllerFeatureProvider());
var options = new TestOptionsManager();
var modelProvider = new DefaultApplicationModelProvider(options);
var provider = new ControllerActionDescriptorProvider(
applicationPartManager,
new[] { modelProvider },
options);
var serviceCollection = new ServiceCollection();
var list = new List()
{
provider,
};
serviceCollection.AddSingleton(typeof(IEnumerable), list);
serviceCollection.AddSingleton(typeof(IActionDescriptorCollectionProvider), typeof(ActionDescriptorCollectionProvider));
serviceCollection.AddSingleton(typeof(IUniqueRouteKeysProvider), typeof(UniqueRouteKeysProvider));
serviceCollection.AddSingleton(typeof(IExpressionRouteHelper), typeof(ExpressionRouteHelper));
Services = serviceCollection.BuildServiceProvider();
}
#endregion
#region Mocked Objects
private static ActionContext CreateActionContext(HttpContext context)
{
return CreateActionContext(context, (new Mock()).Object);
}
private static ActionContext CreateActionContext(HttpContext context, IRouter router)
{
var routeData = new RouteData();
routeData.Routers.Add(router);
return new ActionContext(context, routeData, new ActionDescriptor());
}
private static HttpContext CreateHttpContext(
IServiceProvider services,
string appRoot)
{
var context = new DefaultHttpContext();
context.RequestServices = services;
context.Request.PathBase = new PathString(appRoot);
context.Request.Host = new HostString("localhost");
return context;
}
private static IUrlHelper CreateUrlHelper()
{
var context = CreateHttpContext(Services, string.Empty);
var actionContext = CreateActionContext(context);
var actionSelector = new Mock();
return new UrlHelper(actionContext);
}
public class TestOptionsManager : OptionsManager
where T : class, new()
{
public TestOptionsManager()
: base(Enumerable.Empty>())
{
}
}
#endregion
}
public class MyController : Controller
{
public MyController()
{
this.ControllerContext = new ControllerContext
{
HttpContext = new DefaultHttpContext
{
RequestServices = Startup.Services
}
};
}
public IActionResult Action()
{
return null;
}
public IActionResult Action(int id, string text)
{
return null;
}
public IActionResult Action(int id, RequestModel model)
{
return null;
}
}
public class RequestModel
{
public int Integer { get; set; }
public string String { get; set; }
}
}
================================================
FILE: samples/PerformanceTest/project.json
================================================
{
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"AspNet.Mvc.TypedRouting": "1.3.0-*",
"Microsoft.AspNetCore.Mvc": "1.1.0",
"Moq": "4.6.36-alpha"
},
"frameworks": {
"net451": { }
}
}
================================================
FILE: samples/PerformanceTest/project.lock.json
================================================
{
"locked": false,
"version": 2,
"targets": {
".NETFramework,Version=v4.5.1": {
"Castle.Core/4.0.0-beta001": {
"type": "package",
"compile": {
"lib/net45/Castle.Core.dll": {}
},
"runtime": {
"lib/net45/Castle.Core.dll": {}
}
},
"Microsoft.AspNetCore.Antiforgery/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.DataProtection": "1.1.0",
"Microsoft.AspNetCore.Http.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Http.Extensions": "1.1.0",
"Microsoft.AspNetCore.WebUtilities": "1.1.0",
"Microsoft.Extensions.ObjectPool": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Antiforgery.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Antiforgery.dll": {}
}
},
"Microsoft.AspNetCore.Authorization/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Authorization.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Authorization.dll": {}
}
},
"Microsoft.AspNetCore.Cors/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Extensions": "1.1.0",
"Microsoft.Extensions.Configuration.Abstractions": "1.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Cors.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Cors.dll": {}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Cryptography.Internal.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Cryptography.Internal.dll": {}
}
},
"Microsoft.AspNetCore.DataProtection/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "1.1.0",
"Microsoft.AspNetCore.DataProtection.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.Logging.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"frameworkAssemblies": [
"System.Security",
"System.Xml",
"System.Xml.Linq"
],
"compile": {
"lib/net451/Microsoft.AspNetCore.DataProtection.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.DataProtection.dll": {}
}
},
"Microsoft.AspNetCore.DataProtection.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.DataProtection.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.DataProtection.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Diagnostics.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Hosting.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Http.Abstractions": "1.1.0",
"Microsoft.Extensions.Configuration.Abstractions": "1.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.FileProviders.Abstractions": "1.1.0",
"Microsoft.Extensions.Logging.Abstractions": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Hosting.Server.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Features": "1.1.0",
"Microsoft.Extensions.Configuration.Abstractions": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Html.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1",
"System.Text.Encodings.Web": "4.3.0"
},
"compile": {
"lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Http/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Abstractions": "1.1.0",
"Microsoft.AspNetCore.WebUtilities": "1.1.0",
"Microsoft.Extensions.ObjectPool": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"Microsoft.Net.Http.Headers": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Buffers": "4.3.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Http.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Http.dll": {}
}
},
"Microsoft.AspNetCore.Http.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Features": "1.1.0",
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Text.Encodings.Web": "4.3.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Http.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Http.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Http.Extensions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Abstractions": "1.1.0",
"Microsoft.Extensions.FileProviders.Abstractions": "1.1.0",
"Microsoft.Net.Http.Headers": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Buffers": "4.3.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Http.Extensions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Http.Extensions.dll": {}
}
},
"Microsoft.AspNetCore.Http.Features/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Http.Features.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Http.Features.dll": {}
}
},
"Microsoft.AspNetCore.JsonPatch/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1",
"Newtonsoft.Json": "9.0.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.JsonPatch.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.JsonPatch.dll": {}
}
},
"Microsoft.AspNetCore.Localization/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Extensions": "1.1.0",
"Microsoft.Extensions.Globalization.CultureInfoCache": "1.1.0",
"Microsoft.Extensions.Localization.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Localization.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Localization.dll": {}
}
},
"Microsoft.AspNetCore.Mvc/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Mvc.ApiExplorer": "1.1.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.1.0",
"Microsoft.AspNetCore.Mvc.DataAnnotations": "1.1.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.1.0",
"Microsoft.AspNetCore.Mvc.Localization": "1.1.0",
"Microsoft.AspNetCore.Mvc.Razor": "1.1.0",
"Microsoft.AspNetCore.Mvc.TagHelpers": "1.1.0",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.0",
"Microsoft.Extensions.Caching.Memory": "1.1.0",
"Microsoft.Extensions.DependencyInjection": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Routing.Abstractions": "1.1.0",
"Microsoft.Net.Http.Headers": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.ApiExplorer/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Mvc.Core": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Core/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Authorization": "1.1.0",
"Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Http": "1.1.0",
"Microsoft.AspNetCore.Mvc.Abstractions": "1.1.0",
"Microsoft.AspNetCore.ResponseCaching.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Routing": "1.1.0",
"Microsoft.Extensions.DependencyModel": "1.1.0",
"Microsoft.Extensions.FileProviders.Abstractions": "1.1.0",
"Microsoft.Extensions.Logging.Abstractions": "1.1.0",
"Microsoft.Extensions.PlatformAbstractions": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Buffers": "4.3.0",
"System.Diagnostics.DiagnosticSource": "4.3.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Core.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Core.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Cors/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Cors": "1.1.0",
"Microsoft.AspNetCore.Mvc.Core": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Cors.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Cors.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.DataAnnotations/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Mvc.Core": "1.1.0",
"Microsoft.Extensions.Localization": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"frameworkAssemblies": [
"System.ComponentModel.DataAnnotations"
],
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Formatters.Json/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.JsonPatch": "1.1.0",
"Microsoft.AspNetCore.Mvc.Core": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Localization/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Localization": "1.1.0",
"Microsoft.AspNetCore.Mvc.Razor": "1.1.0",
"Microsoft.Extensions.DependencyInjection": "1.1.0",
"Microsoft.Extensions.Localization": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Localization.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Localization.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Razor/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Mvc.Razor.Host": "1.1.0",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.0",
"Microsoft.CodeAnalysis.CSharp": "1.3.0",
"Microsoft.Extensions.FileProviders.Composite": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.Razor.Host/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Razor.Runtime": "1.1.0",
"Microsoft.Extensions.Caching.Memory": "1.1.0",
"Microsoft.Extensions.FileProviders.Physical": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.Host.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.Host.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.TagHelpers/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Mvc.Razor": "1.1.0",
"Microsoft.AspNetCore.Routing.Abstractions": "1.1.0",
"Microsoft.Extensions.Caching.Memory": "1.1.0",
"Microsoft.Extensions.FileSystemGlobbing": "1.1.0",
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {}
}
},
"Microsoft.AspNetCore.Mvc.ViewFeatures/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Antiforgery": "1.1.0",
"Microsoft.AspNetCore.Diagnostics.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Html.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Mvc.Core": "1.1.0",
"Microsoft.AspNetCore.Mvc.DataAnnotations": "1.1.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.1.0",
"Microsoft.Extensions.WebEncoders": "1.1.0",
"NETStandard.Library": "1.6.1",
"Newtonsoft.Json": "9.0.1",
"System.Buffers": "4.3.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {}
}
},
"Microsoft.AspNetCore.Razor/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Razor.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Razor.dll": {}
}
},
"Microsoft.AspNetCore.Razor.Runtime/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Html.Abstractions": "1.1.0",
"Microsoft.AspNetCore.Razor": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"frameworkAssemblies": [
"System.Xml",
"System.Xml.Linq"
],
"compile": {
"lib/net451/Microsoft.AspNetCore.Razor.Runtime.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Razor.Runtime.dll": {}
}
},
"Microsoft.AspNetCore.ResponseCaching.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.Routing/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Extensions": "1.1.0",
"Microsoft.AspNetCore.Routing.Abstractions": "1.1.0",
"Microsoft.Extensions.Logging.Abstractions": "1.1.0",
"Microsoft.Extensions.ObjectPool": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Routing.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Routing.dll": {}
}
},
"Microsoft.AspNetCore.Routing.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Http.Abstractions": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.Routing.Abstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.Routing.Abstractions.dll": {}
}
},
"Microsoft.AspNetCore.WebUtilities/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0",
"Microsoft.Net.Http.Headers": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Buffers": "4.3.0",
"System.Text.Encodings.Web": "4.3.0"
},
"compile": {
"lib/net451/Microsoft.AspNetCore.WebUtilities.dll": {}
},
"runtime": {
"lib/net451/Microsoft.AspNetCore.WebUtilities.dll": {}
}
},
"Microsoft.CodeAnalysis.Analyzers/1.1.0": {
"type": "package",
"frameworkAssemblies": [
"System"
]
},
"Microsoft.CodeAnalysis.Common/1.3.0": {
"type": "package",
"dependencies": {
"Microsoft.CodeAnalysis.Analyzers": "1.1.0",
"System.Collections.Immutable": "1.1.37",
"System.Reflection.Metadata": "1.2.0"
},
"compile": {
"lib/net45/Microsoft.CodeAnalysis.dll": {}
},
"runtime": {
"lib/net45/Microsoft.CodeAnalysis.dll": {}
}
},
"Microsoft.CodeAnalysis.CSharp/1.3.0": {
"type": "package",
"dependencies": {
"Microsoft.CodeAnalysis.Common": "[1.3.0]"
},
"compile": {
"lib/net45/Microsoft.CodeAnalysis.CSharp.dll": {}
},
"runtime": {
"lib/net45/Microsoft.CodeAnalysis.CSharp.dll": {}
}
},
"Microsoft.CSharp/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"Microsoft.CSharp"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"Microsoft.DotNet.PlatformAbstractions/1.1.0": {
"type": "package",
"compile": {
"lib/net451/Microsoft.DotNet.PlatformAbstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.DotNet.PlatformAbstractions.dll": {}
}
},
"Microsoft.Extensions.Caching.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {}
}
},
"Microsoft.Extensions.Caching.Memory/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "1.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.Extensions.Caching.Memory.dll": {}
},
"runtime": {
"lib/net451/Microsoft.Extensions.Caching.Memory.dll": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {}
},
"runtime": {
"lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1",
"System.ComponentModel": "4.3.0"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {}
}
},
"Microsoft.Extensions.DependencyModel/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.DotNet.PlatformAbstractions": "1.1.0",
"Newtonsoft.Json": "9.0.1"
},
"compile": {
"lib/net451/Microsoft.Extensions.DependencyModel.dll": {}
},
"runtime": {
"lib/net451/Microsoft.Extensions.DependencyModel.dll": {}
}
},
"Microsoft.Extensions.FileProviders.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {}
}
},
"Microsoft.Extensions.FileProviders.Composite/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {}
}
},
"Microsoft.Extensions.FileProviders.Physical/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "1.1.0",
"Microsoft.Extensions.FileSystemGlobbing": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.Extensions.FileProviders.Physical.dll": {}
},
"runtime": {
"lib/net451/Microsoft.Extensions.FileProviders.Physical.dll": {}
}
},
"Microsoft.Extensions.FileSystemGlobbing/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net45/Microsoft.Extensions.FileSystemGlobbing.dll": {}
},
"runtime": {
"lib/net45/Microsoft.Extensions.FileSystemGlobbing.dll": {}
}
},
"Microsoft.Extensions.Globalization.CultureInfoCache/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {}
},
"runtime": {
"lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {}
}
},
"Microsoft.Extensions.Localization/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.Localization.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.Extensions.Localization.dll": {}
},
"runtime": {
"lib/net451/Microsoft.Extensions.Localization.dll": {}
}
},
"Microsoft.Extensions.Localization.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.CSharp": "4.3.0",
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.Localization.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.Localization.Abstractions.dll": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {}
},
"runtime": {
"lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {}
}
},
"Microsoft.Extensions.ObjectPool/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.Extensions.ObjectPool.dll": {}
},
"runtime": {
"lib/net451/Microsoft.Extensions.ObjectPool.dll": {}
}
},
"Microsoft.Extensions.Options/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.ComponentModel": "4.3.0"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.Options.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.Options.dll": {}
}
},
"Microsoft.Extensions.PlatformAbstractions/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1"
},
"compile": {
"lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {}
},
"runtime": {
"lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {}
}
},
"Microsoft.Extensions.Primitives/1.1.0": {
"type": "package",
"dependencies": {
"NETStandard.Library": "1.6.1",
"System.Runtime.CompilerServices.Unsafe": "4.3.0"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {}
}
},
"Microsoft.Extensions.WebEncoders/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0",
"Microsoft.Extensions.Options": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Text.Encodings.Web": "4.3.0"
},
"compile": {
"lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {}
},
"runtime": {
"lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {}
}
},
"Microsoft.Net.Http.Headers/1.1.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "1.1.0",
"NETStandard.Library": "1.6.1",
"System.Buffers": "4.3.0",
"System.Diagnostics.Contracts": "4.3.0"
},
"compile": {
"lib/netstandard1.1/Microsoft.Net.Http.Headers.dll": {}
},
"runtime": {
"lib/netstandard1.1/Microsoft.Net.Http.Headers.dll": {}
}
},
"Microsoft.NETCore.Platforms/1.1.0": {
"type": "package",
"compile": {
"lib/netstandard1.0/_._": {}
},
"runtime": {
"lib/netstandard1.0/_._": {}
}
},
"Moq/4.6.36-alpha": {
"type": "package",
"dependencies": {
"Castle.Core": "4.0.0-beta001"
},
"compile": {
"lib/net45/Moq.dll": {}
},
"runtime": {
"lib/net45/Moq.dll": {}
}
},
"NETStandard.Library/1.6.1": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0",
"System.Collections": "4.3.0",
"System.Collections.Concurrent": "4.3.0",
"System.Diagnostics.Debug": "4.3.0",
"System.Diagnostics.Tools": "4.3.0",
"System.Diagnostics.Tracing": "4.3.0",
"System.Globalization": "4.3.0",
"System.IO": "4.3.0",
"System.IO.Compression": "4.3.0",
"System.Linq": "4.3.0",
"System.Linq.Expressions": "4.3.0",
"System.Net.Http": "4.3.0",
"System.Net.Primitives": "4.3.0",
"System.ObjectModel": "4.3.0",
"System.Reflection": "4.3.0",
"System.Reflection.Extensions": "4.3.0",
"System.Reflection.Primitives": "4.3.0",
"System.Resources.ResourceManager": "4.3.0",
"System.Runtime": "4.3.0",
"System.Runtime.Extensions": "4.3.0",
"System.Runtime.InteropServices": "4.3.0",
"System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
"System.Runtime.Numerics": "4.3.0",
"System.Text.Encoding": "4.3.0",
"System.Text.Encoding.Extensions": "4.3.0",
"System.Text.RegularExpressions": "4.3.0",
"System.Threading": "4.3.0",
"System.Threading.Tasks": "4.3.0",
"System.Threading.Timer": "4.3.0",
"System.Xml.ReaderWriter": "4.3.0",
"System.Xml.XDocument": "4.3.0"
}
},
"Newtonsoft.Json/9.0.1": {
"type": "package",
"compile": {
"lib/net45/Newtonsoft.Json.dll": {}
},
"runtime": {
"lib/net45/Newtonsoft.Json.dll": {}
}
},
"System.Buffers/4.3.0": {
"type": "package",
"compile": {
"lib/netstandard1.1/System.Buffers.dll": {}
},
"runtime": {
"lib/netstandard1.1/System.Buffers.dll": {}
}
},
"System.Collections/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System",
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Collections.Concurrent/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Collections.Immutable/1.1.37": {
"type": "package",
"dependencies": {
"System.Collections": "4.0.0",
"System.Diagnostics.Debug": "4.0.0",
"System.Globalization": "4.0.0",
"System.Linq": "4.0.0",
"System.Resources.ResourceManager": "4.0.0",
"System.Runtime": "4.0.0",
"System.Runtime.Extensions": "4.0.0",
"System.Threading": "4.0.0"
},
"compile": {
"lib/dotnet/System.Collections.Immutable.dll": {}
},
"runtime": {
"lib/dotnet/System.Collections.Immutable.dll": {}
}
},
"System.ComponentModel/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Diagnostics.Contracts/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Diagnostics.Debug/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Diagnostics.DiagnosticSource/4.3.0": {
"type": "package",
"compile": {
"lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll": {}
},
"runtime": {
"lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll": {}
}
},
"System.Diagnostics.Tools/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Diagnostics.Tracing/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Globalization/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.IO/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.IO.Compression/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.IO.Compression"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Linq/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Linq.Expressions/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Net.Http/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Net.Http"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Net.Primitives/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.ObjectModel/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Reflection/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Reflection.Extensions/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Reflection.Metadata/1.2.0": {
"type": "package",
"dependencies": {
"System.Collections.Immutable": "1.1.37"
},
"compile": {
"lib/portable-net45+win8/System.Reflection.Metadata.dll": {}
},
"runtime": {
"lib/portable-net45+win8/System.Reflection.Metadata.dll": {}
}
},
"System.Reflection.Primitives/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Resources.ResourceManager/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Runtime/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System",
"System.ComponentModel.Composition",
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Runtime.CompilerServices.Unsafe/4.3.0": {
"type": "package",
"compile": {
"lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {}
},
"runtime": {
"lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {}
}
},
"System.Runtime.Extensions/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Runtime.InteropServices/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System",
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Runtime.InteropServices.RuntimeInformation/4.3.0": {
"type": "package",
"compile": {
"ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {}
},
"runtime": {
"lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Runtime.Numerics/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Numerics"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Text.Encoding/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Text.Encoding.Extensions/4.3.0": {
"type": "package",
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Text.Encodings.Web/4.3.0": {
"type": "package",
"compile": {
"lib/netstandard1.0/System.Text.Encodings.Web.dll": {}
},
"runtime": {
"lib/netstandard1.0/System.Text.Encodings.Web.dll": {}
}
},
"System.Text.RegularExpressions/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Threading/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System",
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Threading.Tasks/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Core"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Threading.Timer/4.3.0": {
"type": "package",
"compile": {
"ref/net451/_._": {}
},
"runtime": {
"lib/net451/_._": {}
}
},
"System.Xml.ReaderWriter/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Xml"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"System.Xml.XDocument/4.3.0": {
"type": "package",
"frameworkAssemblies": [
"System.Xml.Linq"
],
"compile": {
"ref/net45/_._": {}
},
"runtime": {
"lib/net45/_._": {}
}
},
"AspNet.Mvc.TypedRouting/1.3.0": {
"type": "project",
"framework": ".NETFramework,Version=v4.5.1",
"dependencies": {
"Microsoft.AspNetCore.Mvc": "1.1.0"
},
"compile": {
"net451/AspNet.Mvc.TypedRouting.dll": {}
},
"runtime": {
"net451/AspNet.Mvc.TypedRouting.dll": {}
}
}
}
},
"libraries": {
"Castle.Core/4.0.0-beta001": {
"sha512": "AhlzkJEGZddWgUj2Vub2h2p171eETkQzymd4ZSgcxQBZaxgsFSJjQ7I6fLs86nS39+xxsZR3eXaH86DWVrfurA==",
"type": "package",
"path": "Castle.Core/4.0.0-beta001",
"files": [
"ASL - Apache Software Foundation License.txt",
"BreakingChanges.txt",
"Castle.Core.4.0.0-beta001.nupkg.sha512",
"Castle.Core.nuspec",
"Changes.txt",
"License.txt",
"lib/net35/Castle.Core.dll",
"lib/net35/Castle.Core.xml",
"lib/net40-client/Castle.Core.dll",
"lib/net40-client/Castle.Core.xml",
"lib/net45/Castle.Core.dll",
"lib/net45/Castle.Core.xml",
"lib/netstandard1.3/Castle.Core.dll",
"lib/netstandard1.3/Castle.Core.xml",
"readme.txt"
]
},
"Microsoft.AspNetCore.Antiforgery/1.1.0": {
"sha512": "6HM8/rsSGAQybSZ9sNP2f0Xqh507OJu3kvqRksXeHUXV72yuwFpnauGkfIMSt+gwPSvyk8qGqZB2m4sKCUomhA==",
"type": "package",
"path": "Microsoft.AspNetCore.Antiforgery/1.1.0",
"files": [
"Microsoft.AspNetCore.Antiforgery.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Antiforgery.nuspec",
"lib/net451/Microsoft.AspNetCore.Antiforgery.dll",
"lib/net451/Microsoft.AspNetCore.Antiforgery.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.xml"
]
},
"Microsoft.AspNetCore.Authorization/1.1.0": {
"sha512": "dqveE6pqsnzkab2vw+aFExFYeCikF/T+GKZW9ki8dwJuN7M2+jJcgWtYAv83q7NjBARVh2xH8xf0ahzeuXL/WQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Authorization/1.1.0",
"files": [
"Microsoft.AspNetCore.Authorization.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Authorization.nuspec",
"lib/net451/Microsoft.AspNetCore.Authorization.dll",
"lib/net451/Microsoft.AspNetCore.Authorization.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Authorization.xml"
]
},
"Microsoft.AspNetCore.Cors/1.1.0": {
"sha512": "GtBPVpgjHIO8R+0xXyh9BHTYq4+XKpwfuy9Uo2Iza4mYzfQI06CsJh5p+qkjIxQzroIXN5XNGNnVS9dURR0zBA==",
"type": "package",
"path": "Microsoft.AspNetCore.Cors/1.1.0",
"files": [
"Microsoft.AspNetCore.Cors.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Cors.nuspec",
"lib/net451/Microsoft.AspNetCore.Cors.dll",
"lib/net451/Microsoft.AspNetCore.Cors.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Cors.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Cors.xml"
]
},
"Microsoft.AspNetCore.Cryptography.Internal/1.1.0": {
"sha512": "Oy0pgxQkusvQwIrwbHvGVZhwk59qRVKxcer6HsWw0jCEq2LoQ7mj7x7DovE5ub8UvffLYWx77NMF5uwPtkl8KA==",
"type": "package",
"path": "Microsoft.AspNetCore.Cryptography.Internal/1.1.0",
"files": [
"Microsoft.AspNetCore.Cryptography.Internal.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Cryptography.Internal.nuspec",
"lib/net451/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/net451/Microsoft.AspNetCore.Cryptography.Internal.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.xml"
]
},
"Microsoft.AspNetCore.DataProtection/1.1.0": {
"sha512": "wu8pk94CExaLvwwDSnXkTtsdL8mRxbLH8uCKbbPqbtIstSM6bOw/454OvOYKf61BB+It//ItJJYdZTy2j8Kelw==",
"type": "package",
"path": "Microsoft.AspNetCore.DataProtection/1.1.0",
"files": [
"Microsoft.AspNetCore.DataProtection.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.DataProtection.nuspec",
"lib/net451/Microsoft.AspNetCore.DataProtection.dll",
"lib/net451/Microsoft.AspNetCore.DataProtection.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.xml"
]
},
"Microsoft.AspNetCore.DataProtection.Abstractions/1.1.0": {
"sha512": "WW6qKPh9A5lNh/bFlXIMttlbLmm2K0O3kyZuFIlL4ShOMyhrJeCHoWPWQ+S5eUBdcuOnd9sPwhlmI5Nvb3NjMA==",
"type": "package",
"path": "Microsoft.AspNetCore.DataProtection.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.DataProtection.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.DataProtection.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.DataProtection.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.DataProtection.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Diagnostics.Abstractions/1.1.0": {
"sha512": "OTLXdoqnhxGzjBewpKiil8C8RzaLMCiWjGDIkr/5kdTNhD0LGT1Dobqprqbg9nKpS99ykJisOguFDTtxpoeSFg==",
"type": "package",
"path": "Microsoft.AspNetCore.Diagnostics.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Diagnostics.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Diagnostics.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll",
"lib/netstandard1.0/Microsoft.AspNetCore.Diagnostics.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Hosting.Abstractions/1.1.0": {
"sha512": "bi3l+bdJLrkhtNXk/988mWCRHr9dlRpDkaQof6aFjni/oJfPOHpu2B2+cH+gCemaWHTipzSYoCOuz0UL+AxG2g==",
"type": "package",
"path": "Microsoft.AspNetCore.Hosting.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Hosting.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Hosting.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Hosting.Server.Abstractions/1.1.0": {
"sha512": "GynDm8oz39EA8WvLIkfitPwHU27IVhLoVocZKaEYQ6Cs+jZnW2PT3OKBKJeeEepvMMbS5grvKM7HeZyGZqPthg==",
"type": "package",
"path": "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Hosting.Server.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Hosting.Server.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Html.Abstractions/1.1.0": {
"sha512": "+zN+RCEAJwzeFfsGIRkNn7NQ0/hrLEKHeKQNegqMRTr42JhuJZfPE+Negz7W/WkgFB3ZQQd9QTth9I3BDlsHzQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Html.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Html.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Html.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll",
"lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Http/1.1.0": {
"sha512": "N5ejgXmkUH/CQA+lz18HQb9cDZdA365Tm128yYyP34N46uiR9NswEDravug2DXrRiTo+2hOwPT1Tvby3Cdf6lQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Http/1.1.0",
"files": [
"Microsoft.AspNetCore.Http.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Http.nuspec",
"lib/net451/Microsoft.AspNetCore.Http.dll",
"lib/net451/Microsoft.AspNetCore.Http.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.xml"
]
},
"Microsoft.AspNetCore.Http.Abstractions/1.1.0": {
"sha512": "D5ytRM662nwczIVUPm2mvEJ8nf0UlHSxO6yPlXGpbdwilGchK6MrwiHI6XEfCfryhoXBn6q97fsu5K8el3uGCA==",
"type": "package",
"path": "Microsoft.AspNetCore.Http.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Http.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Http.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.Http.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.Http.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Http.Extensions/1.1.0": {
"sha512": "ZR2CbLAqwjGMFRhg0GlyrsIPA2lT1o2AHniryplFYOjyDi7rG9a9JwPiCmXsnu+22nK9+ca7mxNPx8eWSy/NQw==",
"type": "package",
"path": "Microsoft.AspNetCore.Http.Extensions/1.1.0",
"files": [
"Microsoft.AspNetCore.Http.Extensions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Http.Extensions.nuspec",
"lib/net451/Microsoft.AspNetCore.Http.Extensions.dll",
"lib/net451/Microsoft.AspNetCore.Http.Extensions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.Extensions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.Extensions.xml"
]
},
"Microsoft.AspNetCore.Http.Features/1.1.0": {
"sha512": "zH5Qi6uJaojL+aQ/5QIt7MJ1I4Zimwc1ti6+luEHthc1xq6nevChup0lYCcthh47lrRAJwybqEg6g+c+TG3MyQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Http.Features/1.1.0",
"files": [
"Microsoft.AspNetCore.Http.Features.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Http.Features.nuspec",
"lib/net451/Microsoft.AspNetCore.Http.Features.dll",
"lib/net451/Microsoft.AspNetCore.Http.Features.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.xml"
]
},
"Microsoft.AspNetCore.JsonPatch/1.1.0": {
"sha512": "/mADp5Q1I3oeptoCF8mmAFDMGvlDCLSBatsKCXxk5vQYZUyzOLxoiHgW5QowgIdwnd3AHPmFDib5vm8U2B6q7g==",
"type": "package",
"path": "Microsoft.AspNetCore.JsonPatch/1.1.0",
"files": [
"Microsoft.AspNetCore.JsonPatch.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.JsonPatch.nuspec",
"lib/net451/Microsoft.AspNetCore.JsonPatch.dll",
"lib/net451/Microsoft.AspNetCore.JsonPatch.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.JsonPatch.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.JsonPatch.xml"
]
},
"Microsoft.AspNetCore.Localization/1.1.0": {
"sha512": "Px52xLst9/G4dyGt3fSTIZU3aZoz0IOVoInW/M1WRCOM5DzCkLzPYXOHMpQkc8ZVx7YZmHnB8p9IrvNNyjPO6A==",
"type": "package",
"path": "Microsoft.AspNetCore.Localization/1.1.0",
"files": [
"Microsoft.AspNetCore.Localization.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Localization.nuspec",
"lib/net451/Microsoft.AspNetCore.Localization.dll",
"lib/net451/Microsoft.AspNetCore.Localization.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Localization.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Localization.xml"
]
},
"Microsoft.AspNetCore.Mvc/1.1.0": {
"sha512": "TDcIjBQRfYAkbcvlU+lMHC0RpuTTSzULEdA0+HvoGgHz6y0Q4wo8CEAWpaRjvt3y3mneuq56d6CReMleFDDd5Q==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.xml"
]
},
"Microsoft.AspNetCore.Mvc.Abstractions/1.1.0": {
"sha512": "r0OA3N1Onua8AcTtFYpK03K3WdwJBL3iFW4XzfMA49ZmAKGf1ARAlrt6Q8WCdBI7nFDJCc1/bdMJ0ozWaq9rhA==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Mvc.ApiExplorer/1.1.0": {
"sha512": "cS2ZVqnh9Db3JU5zgw0SRKSYJ/0aYfLDeYRpgJGwjwMsMNa9pw4JK1H3NLkhs7zRAtoet6asXMEZwqFtO/STbw==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.ApiExplorer/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.ApiExplorer.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.ApiExplorer.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.ApiExplorer.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.ApiExplorer.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.xml"
]
},
"Microsoft.AspNetCore.Mvc.Core/1.1.0": {
"sha512": "6Gxoe6MJPbc9yVx7IEkDlzfNRzQ+JSvlVmFvugoNbpWAefU2F8d76aj7oiGewucXVI8c7oZ1Q0+rx7059j7/fA==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Core/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Core.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Core.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Core.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Core.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.xml"
]
},
"Microsoft.AspNetCore.Mvc.Cors/1.1.0": {
"sha512": "0E+RHtEsYwzkbXvLVC81Vu8Mtp24BC9RMuN8RGjeWzwRHDeZaY9erGtoei/2GiFj+3DpqvCzFsRhKp/yVCzrOQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Cors/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Cors.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Cors.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Cors.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Cors.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.xml"
]
},
"Microsoft.AspNetCore.Mvc.DataAnnotations/1.1.0": {
"sha512": "kV7IfXeoehKpX0zPrjZ/B1RKnHSKQfmOnXKxupGXuNY64Ly2JgJh+XAxPLQtYy2jUIwRG3PWNhVkWZIazq82wg==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.DataAnnotations/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.DataAnnotations.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.DataAnnotations.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.DataAnnotations.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.DataAnnotations.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.xml"
]
},
"Microsoft.AspNetCore.Mvc.Formatters.Json/1.1.0": {
"sha512": "NHPfvDnqA21/2pa5Uxe7vfO2sZ1sTafSR/L1pGhQxjTUnVQ2k0X3M3wFKPpM9UH9co9Bx3KjV0AcurbfEaCQvA==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Formatters.Json/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Formatters.Json.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Formatters.Json.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Formatters.Json.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Formatters.Json.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.xml"
]
},
"Microsoft.AspNetCore.Mvc.Localization/1.1.0": {
"sha512": "XDLAPLW5hdkO8h6Ki4Du/Dw5NUfIsiDDoyaHkzDL5gX5TxOot0bdw/QClIQ65SJqpjuvIZxZXrJV/MFDKwjZ2g==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Localization/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Localization.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Localization.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Localization.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Localization.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.xml"
]
},
"Microsoft.AspNetCore.Mvc.Razor/1.1.0": {
"sha512": "GKfZhs4I14auXrlOcUHyHVx1zOLt3MeVw2KcABFD8Y8jyVOELj/mnIucREBG73Us4HcT127qenBFkdkz6F/SOQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Razor/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Razor.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Razor.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.xml"
]
},
"Microsoft.AspNetCore.Mvc.Razor.Host/1.1.0": {
"sha512": "9Qi+KEVkmGfXXjfsciKRVJU/EOVm2AYMZuaDiFCJslEll/OTzXnTlKerj4jFbxB3PB1VRqwPL/HIawRGUouruA==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.Razor.Host/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.Razor.Host.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.Razor.Host.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.Host.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.Razor.Host.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.xml"
]
},
"Microsoft.AspNetCore.Mvc.TagHelpers/1.1.0": {
"sha512": "qQz5KEv097INfR7T9Q9kiEi2MY3jdGthU9XW5N6UFrHgFGjMZwra/oCyu/9DsTueW+4zk0cCo5SCneXwHR9uRA==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.TagHelpers/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.TagHelpers.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.TagHelpers.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.TagHelpers.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.TagHelpers.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.xml"
]
},
"Microsoft.AspNetCore.Mvc.ViewFeatures/1.1.0": {
"sha512": "Odd9+gRi4DCH3RalGZEdS0xLRcUh8LV9UTCnOVjGwotI1i6Fk2VSxtkAxrVRMd44BL0WfRqJFiTkCixxA2zFig==",
"type": "package",
"path": "Microsoft.AspNetCore.Mvc.ViewFeatures/1.1.0",
"files": [
"Microsoft.AspNetCore.Mvc.ViewFeatures.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Mvc.ViewFeatures.nuspec",
"lib/net451/Microsoft.AspNetCore.Mvc.ViewFeatures.dll",
"lib/net451/Microsoft.AspNetCore.Mvc.ViewFeatures.xml",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.dll",
"lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.xml"
]
},
"Microsoft.AspNetCore.Razor/1.1.0": {
"sha512": "hChh+W6UG0C8aink3KWuX7flFuAiTPrCBfh68fbRJ1sLPk0ELmj6c3zm+VgNXaHEh2OpT/O0eN5XpS1rQ/FcbQ==",
"type": "package",
"path": "Microsoft.AspNetCore.Razor/1.1.0",
"files": [
"Microsoft.AspNetCore.Razor.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Razor.nuspec",
"lib/net451/Microsoft.AspNetCore.Razor.dll",
"lib/net451/Microsoft.AspNetCore.Razor.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Razor.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Razor.xml"
]
},
"Microsoft.AspNetCore.Razor.Runtime/1.1.0": {
"sha512": "hQW8+DRFHCHmTzviW54umnBfX1vc9bv/390r62k85LQsUd5Lo59QQ+IyD5fe6o9g/h946IF8Yl25wd6dEk7YqA==",
"type": "package",
"path": "Microsoft.AspNetCore.Razor.Runtime/1.1.0",
"files": [
"Microsoft.AspNetCore.Razor.Runtime.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Razor.Runtime.nuspec",
"lib/net451/Microsoft.AspNetCore.Razor.Runtime.dll",
"lib/net451/Microsoft.AspNetCore.Razor.Runtime.xml",
"lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.dll",
"lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.xml"
]
},
"Microsoft.AspNetCore.ResponseCaching.Abstractions/1.1.0": {
"sha512": "Mdj0FP6fP44sYaSRmhUBEpOXnN3kykpd0/8e48iEoSybId5x5XreIeDEEhTYF+r/QA7H8Y33fjVR1cP996OgDA==",
"type": "package",
"path": "Microsoft.AspNetCore.ResponseCaching.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.ResponseCaching.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.ResponseCaching.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.ResponseCaching.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.ResponseCaching.Abstractions.xml"
]
},
"Microsoft.AspNetCore.Routing/1.1.0": {
"sha512": "wrD6DOWc4/euIujz7trLrF3zGVMxOGKRPzYl4e2NFOE/uXz95EnNBHkNuN0Xcgx3xVcb08TMxkoFNT3A+WC0XA==",
"type": "package",
"path": "Microsoft.AspNetCore.Routing/1.1.0",
"files": [
"Microsoft.AspNetCore.Routing.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Routing.nuspec",
"lib/net451/Microsoft.AspNetCore.Routing.dll",
"lib/net451/Microsoft.AspNetCore.Routing.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Routing.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Routing.xml"
]
},
"Microsoft.AspNetCore.Routing.Abstractions/1.1.0": {
"sha512": "/kaFZW4AjHPOIMnqXHGl/KdHxUGOVm9z/U0t3JtKmK5OFnsfuLsUIH2QN2PtXNeOm1eh5Ux2XEyg6YRBgXfPgA==",
"type": "package",
"path": "Microsoft.AspNetCore.Routing.Abstractions/1.1.0",
"files": [
"Microsoft.AspNetCore.Routing.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.Routing.Abstractions.nuspec",
"lib/net451/Microsoft.AspNetCore.Routing.Abstractions.dll",
"lib/net451/Microsoft.AspNetCore.Routing.Abstractions.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.Routing.Abstractions.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.Routing.Abstractions.xml"
]
},
"Microsoft.AspNetCore.WebUtilities/1.1.0": {
"sha512": "9w3aHPRUAx+1xOTcsZF6AJCS42viNqWeTcgIE1dmlK/G3NCFkes+MVxwvKt9U9pFIomxqRnD+MGRoBeruEKPbQ==",
"type": "package",
"path": "Microsoft.AspNetCore.WebUtilities/1.1.0",
"files": [
"Microsoft.AspNetCore.WebUtilities.1.1.0.nupkg.sha512",
"Microsoft.AspNetCore.WebUtilities.nuspec",
"lib/net451/Microsoft.AspNetCore.WebUtilities.dll",
"lib/net451/Microsoft.AspNetCore.WebUtilities.xml",
"lib/netstandard1.3/Microsoft.AspNetCore.WebUtilities.dll",
"lib/netstandard1.3/Microsoft.AspNetCore.WebUtilities.xml"
]
},
"Microsoft.CodeAnalysis.Analyzers/1.1.0": {
"sha512": "jICz4qN7C8Hq8d5UF0LzqeOTqJMuy21cRDCW8N8K3yiojIhQQ+hAwlcUp7yh4gJOcqh7iEWg/5jlZmXbefO00Q==",
"type": "package",
"path": "Microsoft.CodeAnalysis.Analyzers/1.1.0",
"files": [
"Microsoft.CodeAnalysis.Analyzers.1.1.0.nupkg.sha512",
"Microsoft.CodeAnalysis.Analyzers.nuspec",
"ThirdPartyNotices.rtf",
"analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll",
"analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll",
"analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll",
"analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll",
"tools/install.ps1",
"tools/uninstall.ps1"
]
},
"Microsoft.CodeAnalysis.Common/1.3.0": {
"sha512": "hVgAQZDvOO8LpuhAO557wlqwivTSTstAIIknHTK8y62utH9PgdwEey0TDzJRanReEMTFR3bzdvoFXOe2/X6BGw==",
"type": "package",
"path": "Microsoft.CodeAnalysis.Common/1.3.0",
"files": [
"Microsoft.CodeAnalysis.Common.1.3.0.nupkg.sha512",
"Microsoft.CodeAnalysis.Common.nuspec",
"ThirdPartyNotices.rtf",
"lib/net45/Microsoft.CodeAnalysis.dll",
"lib/net45/Microsoft.CodeAnalysis.xml",
"lib/netstandard1.3/Microsoft.CodeAnalysis.dll",
"lib/netstandard1.3/Microsoft.CodeAnalysis.xml",
"lib/portable-net45+win8/Microsoft.CodeAnalysis.dll",
"lib/portable-net45+win8/Microsoft.CodeAnalysis.xml"
]
},
"Microsoft.CodeAnalysis.CSharp/1.3.0": {
"sha512": "8fqBJ4I+IH71mTs+F2w9U/UpJz2pbuO+9XicOxN1pUWU6UZlPgRMwS8e+rcnJp5sgz7tXrB2JoCoP3JuKTHBvg==",
"type": "package",
"path": "Microsoft.CodeAnalysis.CSharp/1.3.0",
"files": [
"Microsoft.CodeAnalysis.CSharp.1.3.0.nupkg.sha512",
"Microsoft.CodeAnalysis.CSharp.nuspec",
"ThirdPartyNotices.rtf",
"lib/net45/Microsoft.CodeAnalysis.CSharp.dll",
"lib/net45/Microsoft.CodeAnalysis.CSharp.xml",
"lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll",
"lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.xml",
"lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll",
"lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.xml"
]
},
"Microsoft.CSharp/4.3.0": {
"sha512": "P+MBhIM0YX+JqROuf7i306ZLJEjQYA9uUyRDE+OqwUI5sh41e2ZbPQV3LfAPh+29cmceE1pUffXsGfR4eMY3KA==",
"type": "package",
"path": "Microsoft.CSharp/4.3.0",
"files": [
"Microsoft.CSharp.4.3.0.nupkg.sha512",
"Microsoft.CSharp.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/Microsoft.CSharp.dll",
"lib/netstandard1.3/Microsoft.CSharp.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/Microsoft.CSharp.dll",
"ref/netcore50/Microsoft.CSharp.xml",
"ref/netcore50/de/Microsoft.CSharp.xml",
"ref/netcore50/es/Microsoft.CSharp.xml",
"ref/netcore50/fr/Microsoft.CSharp.xml",
"ref/netcore50/it/Microsoft.CSharp.xml",
"ref/netcore50/ja/Microsoft.CSharp.xml",
"ref/netcore50/ko/Microsoft.CSharp.xml",
"ref/netcore50/ru/Microsoft.CSharp.xml",
"ref/netcore50/zh-hans/Microsoft.CSharp.xml",
"ref/netcore50/zh-hant/Microsoft.CSharp.xml",
"ref/netstandard1.0/Microsoft.CSharp.dll",
"ref/netstandard1.0/Microsoft.CSharp.xml",
"ref/netstandard1.0/de/Microsoft.CSharp.xml",
"ref/netstandard1.0/es/Microsoft.CSharp.xml",
"ref/netstandard1.0/fr/Microsoft.CSharp.xml",
"ref/netstandard1.0/it/Microsoft.CSharp.xml",
"ref/netstandard1.0/ja/Microsoft.CSharp.xml",
"ref/netstandard1.0/ko/Microsoft.CSharp.xml",
"ref/netstandard1.0/ru/Microsoft.CSharp.xml",
"ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml",
"ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"Microsoft.DotNet.PlatformAbstractions/1.1.0": {
"sha512": "Bl6KYfbFSIW3QIRHAp931iR5h01qHjKghdpAtncwbzNUs0+IUZ+XfwkIU0sQsR33ufGvi3u4dZMIYYFysjpHAA==",
"type": "package",
"path": "Microsoft.DotNet.PlatformAbstractions/1.1.0",
"files": [
"Microsoft.DotNet.PlatformAbstractions.1.1.0.nupkg.sha512",
"Microsoft.DotNet.PlatformAbstractions.nuspec",
"lib/net451/Microsoft.DotNet.PlatformAbstractions.dll",
"lib/netstandard1.3/Microsoft.DotNet.PlatformAbstractions.dll"
]
},
"Microsoft.Extensions.Caching.Abstractions/1.1.0": {
"sha512": "uMbUDz/lNoO9LGc+DSjKMLWJk+y4qX6syDRcmQC0w6LSQzizkRqmo5Y8jO0ePtZRjF2lSGgO5URt4YgB6STDBQ==",
"type": "package",
"path": "Microsoft.Extensions.Caching.Abstractions/1.1.0",
"files": [
"Microsoft.Extensions.Caching.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Caching.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll",
"lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.xml"
]
},
"Microsoft.Extensions.Caching.Memory/1.1.0": {
"sha512": "ihFzFRKf/LrXHIvn0wDDt6oLxaAjsCPfrIzV9CLrTURD7qT+HujJ0TaRfC91e6tB8OAgkzY4AsHRBNq8KzrQQQ==",
"type": "package",
"path": "Microsoft.Extensions.Caching.Memory/1.1.0",
"files": [
"Microsoft.Extensions.Caching.Memory.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Caching.Memory.nuspec",
"lib/net451/Microsoft.Extensions.Caching.Memory.dll",
"lib/net451/Microsoft.Extensions.Caching.Memory.xml",
"lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll",
"lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.xml"
]
},
"Microsoft.Extensions.Configuration.Abstractions/1.1.0": {
"sha512": "ggfk85eY5+Nr90O9wN0ei8YyouHTeLOSj4R7PJAEkAAR1TNCoeErydX2OuFjT/lF6o7Zupwd+DIRifC17XL2VA==",
"type": "package",
"path": "Microsoft.Extensions.Configuration.Abstractions/1.1.0",
"files": [
"Microsoft.Extensions.Configuration.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Configuration.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.xml"
]
},
"Microsoft.Extensions.DependencyInjection/1.1.0": {
"sha512": "meG2tsLdHT0SROqxGBiY8A6XUKlwsQVj1N9cyrS+ZJd1MKhoSaw54KuSH6PmpCB/K/ifkR7o9yVVVamu9XZyeg==",
"type": "package",
"path": "Microsoft.Extensions.DependencyInjection/1.1.0",
"files": [
"Microsoft.Extensions.DependencyInjection.1.1.0.nupkg.sha512",
"Microsoft.Extensions.DependencyInjection.nuspec",
"lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.xml"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/1.1.0": {
"sha512": "2luhjVaWZd8Wmr2KUJcLNAN+iZgezTyfamLG6Lo5FVYY1LYaS7UFOmNtApHGVIytWWtuXSk4ea0t2Vx0HgF5fg==",
"type": "package",
"path": "Microsoft.Extensions.DependencyInjection.Abstractions/1.1.0",
"files": [
"Microsoft.Extensions.DependencyInjection.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.DependencyInjection.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml"
]
},
"Microsoft.Extensions.DependencyModel/1.1.0": {
"sha512": "TG7dJ8GY1Myz9lZ8DJL4i6D05ncJQBi5CjBMXMdJ4edKxaW+vP2DndDd1jJabdMdmVRdGrvybzqkB+A6Df7eDw==",
"type": "package",
"path": "Microsoft.Extensions.DependencyModel/1.1.0",
"files": [
"Microsoft.Extensions.DependencyModel.1.1.0.nupkg.sha512",
"Microsoft.Extensions.DependencyModel.nuspec",
"lib/net451/Microsoft.Extensions.DependencyModel.dll",
"lib/netstandard1.3/Microsoft.Extensions.DependencyModel.dll",
"lib/netstandard1.6/Microsoft.Extensions.DependencyModel.dll"
]
},
"Microsoft.Extensions.FileProviders.Abstractions/1.1.0": {
"sha512": "TBG5/xsMSOJ9hrit5TcM6Ipn+3/cgBs5tywXHun+L+8w1WYal13AMac2ziwPRY/PQqC4oG88Hw9hwIEj95xdGw==",
"type": "package",
"path": "Microsoft.Extensions.FileProviders.Abstractions/1.1.0",
"files": [
"Microsoft.Extensions.FileProviders.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.FileProviders.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll",
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.xml"
]
},
"Microsoft.Extensions.FileProviders.Composite/1.1.0": {
"sha512": "S6vQ4HcjYKAmPqyuGNDQ1ILBaTx7SnDvfg/Dby+s55dXNI2WA/blkeIufbDm0MukALsukWya9mdbe7upWj8U5g==",
"type": "package",
"path": "Microsoft.Extensions.FileProviders.Composite/1.1.0",
"files": [
"Microsoft.Extensions.FileProviders.Composite.1.1.0.nupkg.sha512",
"Microsoft.Extensions.FileProviders.Composite.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll",
"lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.xml"
]
},
"Microsoft.Extensions.FileProviders.Physical/1.1.0": {
"sha512": "ckyGwMGd4v1nE70wZ7ytax+Ef9WHQ6IcE4apLYG4um6Dfcw/Y6QJY0Fcv3Ck9WK/Uj0YMxHnNCZH6MBp6boeEw==",
"type": "package",
"path": "Microsoft.Extensions.FileProviders.Physical/1.1.0",
"files": [
"Microsoft.Extensions.FileProviders.Physical.1.1.0.nupkg.sha512",
"Microsoft.Extensions.FileProviders.Physical.nuspec",
"lib/net451/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/net451/Microsoft.Extensions.FileProviders.Physical.xml",
"lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.dll",
"lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.xml"
]
},
"Microsoft.Extensions.FileSystemGlobbing/1.1.0": {
"sha512": "/NKs5LrUCUARfFbGik/ML5L2YnN33XTf+TUyghjhCzl9HlvLA4l6s3bW+xsbCU0GEmI/MottEEhiDa1dLJJh4A==",
"type": "package",
"path": "Microsoft.Extensions.FileSystemGlobbing/1.1.0",
"files": [
"Microsoft.Extensions.FileSystemGlobbing.1.1.0.nupkg.sha512",
"Microsoft.Extensions.FileSystemGlobbing.nuspec",
"lib/net45/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/net45/Microsoft.Extensions.FileSystemGlobbing.xml",
"lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.dll",
"lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.xml"
]
},
"Microsoft.Extensions.Globalization.CultureInfoCache/1.1.0": {
"sha512": "KAuadrKH0hLZGXfLO/+L6bv4vIeOYpQTjglR5Tu4hm9TJ8sVcPf11qIoU+BXSwalXiaJuazSI9fxbyoIVBsX4A==",
"type": "package",
"path": "Microsoft.Extensions.Globalization.CultureInfoCache/1.1.0",
"files": [
"Microsoft.Extensions.Globalization.CultureInfoCache.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Globalization.CultureInfoCache.nuspec",
"lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll",
"lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.xml"
]
},
"Microsoft.Extensions.Localization/1.1.0": {
"sha512": "1DWqIC1k383XaQ3h+WxyKYmerLHDYH7TY7mDcglylG3Wq+zlX3/UUhUEKO0Ft8RKCLxLh/LhIa9NBvM3cYzLIg==",
"type": "package",
"path": "Microsoft.Extensions.Localization/1.1.0",
"files": [
"Microsoft.Extensions.Localization.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Localization.nuspec",
"lib/net451/Microsoft.Extensions.Localization.dll",
"lib/net451/Microsoft.Extensions.Localization.xml",
"lib/netstandard1.3/Microsoft.Extensions.Localization.dll",
"lib/netstandard1.3/Microsoft.Extensions.Localization.xml"
]
},
"Microsoft.Extensions.Localization.Abstractions/1.1.0": {
"sha512": "8KkP9veQupIfAEQFLLQFTo75s2fVKOM9SWeHhdSSUD35uD8DX1zOXAUsuaXwQY8cyt6mSUR5zuUEkgbZXnUKCA==",
"type": "package",
"path": "Microsoft.Extensions.Localization.Abstractions/1.1.0",
"files": [
"Microsoft.Extensions.Localization.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Localization.Abstractions.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.Localization.Abstractions.dll",
"lib/netstandard1.0/Microsoft.Extensions.Localization.Abstractions.xml"
]
},
"Microsoft.Extensions.Logging.Abstractions/1.1.0": {
"sha512": "5zDtM0Dal+pwDIj49PPq9Y8SYu6z70v55VDx70rOuquLTlaCIdv9uItkcp9c1FH/ASNdfANVnh1cTwd85dyE+Q==",
"type": "package",
"path": "Microsoft.Extensions.Logging.Abstractions/1.1.0",
"files": [
"Microsoft.Extensions.Logging.Abstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Logging.Abstractions.nuspec",
"lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.xml"
]
},
"Microsoft.Extensions.ObjectPool/1.1.0": {
"sha512": "8tg7DpFubtj98Lf+N+zpu5VXe9EHCPrqcukpsjC9BSfcnC0Oq8CUZKYUsLScS2pnqEkSNHwuHoWRtJ6xhMO/xg==",
"type": "package",
"path": "Microsoft.Extensions.ObjectPool/1.1.0",
"files": [
"Microsoft.Extensions.ObjectPool.1.1.0.nupkg.sha512",
"Microsoft.Extensions.ObjectPool.nuspec",
"lib/net451/Microsoft.Extensions.ObjectPool.dll",
"lib/net451/Microsoft.Extensions.ObjectPool.xml",
"lib/netstandard1.3/Microsoft.Extensions.ObjectPool.dll",
"lib/netstandard1.3/Microsoft.Extensions.ObjectPool.xml"
]
},
"Microsoft.Extensions.Options/1.1.0": {
"sha512": "NZlEcVm+SPPeNAkYuwiZdqnMrs/Lne/cDAWiBal1EL//m/KjDgOC6jKg5m9rt/cvqb7Obql5e0JtkNmdP1fGQA==",
"type": "package",
"path": "Microsoft.Extensions.Options/1.1.0",
"files": [
"Microsoft.Extensions.Options.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Options.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.Options.dll",
"lib/netstandard1.0/Microsoft.Extensions.Options.xml"
]
},
"Microsoft.Extensions.PlatformAbstractions/1.1.0": {
"sha512": "H6ZsQzxYw/6k2DfEQRXdC+vQ6obd6Uba3uGJrnJ2vG4PRXjQZ7seB13JdCfE72abp8E6Fk3gGgDzfJiLZi5ZpQ==",
"type": "package",
"path": "Microsoft.Extensions.PlatformAbstractions/1.1.0",
"files": [
"Microsoft.Extensions.PlatformAbstractions.1.1.0.nupkg.sha512",
"Microsoft.Extensions.PlatformAbstractions.nuspec",
"lib/net451/Microsoft.Extensions.PlatformAbstractions.dll",
"lib/net451/Microsoft.Extensions.PlatformAbstractions.xml",
"lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll",
"lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.xml"
]
},
"Microsoft.Extensions.Primitives/1.1.0": {
"sha512": "GhQG5CBUR9/czBLTblt1giKBkfvHVDeppWd6KIgPyexrspECqzzSW5IXe0STTTs2NlUp9vIFwjSWG8O9c74R9g==",
"type": "package",
"path": "Microsoft.Extensions.Primitives/1.1.0",
"files": [
"Microsoft.Extensions.Primitives.1.1.0.nupkg.sha512",
"Microsoft.Extensions.Primitives.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard1.0/Microsoft.Extensions.Primitives.xml"
]
},
"Microsoft.Extensions.WebEncoders/1.1.0": {
"sha512": "YnUfcLe/FYL3Mft5HPv7dSSKfZZCZwLG2GQfv3vuxdY4AbWOYLqq/3wIPCNIrgMXvzralWdkESNsb9iw5gKdpg==",
"type": "package",
"path": "Microsoft.Extensions.WebEncoders/1.1.0",
"files": [
"Microsoft.Extensions.WebEncoders.1.1.0.nupkg.sha512",
"Microsoft.Extensions.WebEncoders.nuspec",
"lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll",
"lib/netstandard1.0/Microsoft.Extensions.WebEncoders.xml"
]
},
"Microsoft.Net.Http.Headers/1.1.0": {
"sha512": "jeVS60A5qfWNFxs1aZ8UmUclrN6r6AdXkHmNjO0HzyaDmzc0zm7h0F0A/FHSu2i9sj5E7KrxTwaHapeiFBw/DA==",
"type": "package",
"path": "Microsoft.Net.Http.Headers/1.1.0",
"files": [
"Microsoft.Net.Http.Headers.1.1.0.nupkg.sha512",
"Microsoft.Net.Http.Headers.nuspec",
"lib/netstandard1.1/Microsoft.Net.Http.Headers.dll",
"lib/netstandard1.1/Microsoft.Net.Http.Headers.xml"
]
},
"Microsoft.NETCore.Platforms/1.1.0": {
"sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
"type": "package",
"path": "Microsoft.NETCore.Platforms/1.1.0",
"files": [
"Microsoft.NETCore.Platforms.1.1.0.nupkg.sha512",
"Microsoft.NETCore.Platforms.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/netstandard1.0/_._",
"runtime.json"
]
},
"Moq/4.6.36-alpha": {
"sha512": "kzWy3IwRi4igVGlUi/tM0x8CKQ1UrFRELIYyyKhLd5N+Afi34p0H3+J01/kavDAlUm6pcYh+b24bV84UJixBZg==",
"type": "package",
"path": "Moq/4.6.36-alpha",
"files": [
"Moq.4.6.36-alpha.nupkg.sha512",
"Moq.nuspec",
"lib/net45/Moq.dll",
"lib/net45/Moq.xml",
"lib/netstandard1.3/Moq.dll",
"lib/netstandard1.3/Moq.xml"
]
},
"NETStandard.Library/1.6.1": {
"sha512": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
"type": "package",
"path": "NETStandard.Library/1.6.1",
"files": [
"NETStandard.Library.1.6.1.nupkg.sha512",
"NETStandard.Library.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt"
]
},
"Newtonsoft.Json/9.0.1": {
"sha512": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==",
"type": "package",
"path": "Newtonsoft.Json/9.0.1",
"files": [
"Newtonsoft.Json.9.0.1.nupkg.sha512",
"Newtonsoft.Json.nuspec",
"lib/net20/Newtonsoft.Json.dll",
"lib/net20/Newtonsoft.Json.xml",
"lib/net35/Newtonsoft.Json.dll",
"lib/net35/Newtonsoft.Json.xml",
"lib/net40/Newtonsoft.Json.dll",
"lib/net40/Newtonsoft.Json.xml",
"lib/net45/Newtonsoft.Json.dll",
"lib/net45/Newtonsoft.Json.xml",
"lib/netstandard1.0/Newtonsoft.Json.dll",
"lib/netstandard1.0/Newtonsoft.Json.xml",
"lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll",
"lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml",
"lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll",
"lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml",
"tools/install.ps1"
]
},
"System.Buffers/4.3.0": {
"sha512": "ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==",
"type": "package",
"path": "System.Buffers/4.3.0",
"files": [
"System.Buffers.4.3.0.nupkg.sha512",
"System.Buffers.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/netstandard1.1/.xml",
"lib/netstandard1.1/System.Buffers.dll"
]
},
"System.Collections/4.3.0": {
"sha512": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
"type": "package",
"path": "System.Collections/4.3.0",
"files": [
"System.Collections.4.3.0.nupkg.sha512",
"System.Collections.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Collections.dll",
"ref/netcore50/System.Collections.xml",
"ref/netcore50/de/System.Collections.xml",
"ref/netcore50/es/System.Collections.xml",
"ref/netcore50/fr/System.Collections.xml",
"ref/netcore50/it/System.Collections.xml",
"ref/netcore50/ja/System.Collections.xml",
"ref/netcore50/ko/System.Collections.xml",
"ref/netcore50/ru/System.Collections.xml",
"ref/netcore50/zh-hans/System.Collections.xml",
"ref/netcore50/zh-hant/System.Collections.xml",
"ref/netstandard1.0/System.Collections.dll",
"ref/netstandard1.0/System.Collections.xml",
"ref/netstandard1.0/de/System.Collections.xml",
"ref/netstandard1.0/es/System.Collections.xml",
"ref/netstandard1.0/fr/System.Collections.xml",
"ref/netstandard1.0/it/System.Collections.xml",
"ref/netstandard1.0/ja/System.Collections.xml",
"ref/netstandard1.0/ko/System.Collections.xml",
"ref/netstandard1.0/ru/System.Collections.xml",
"ref/netstandard1.0/zh-hans/System.Collections.xml",
"ref/netstandard1.0/zh-hant/System.Collections.xml",
"ref/netstandard1.3/System.Collections.dll",
"ref/netstandard1.3/System.Collections.xml",
"ref/netstandard1.3/de/System.Collections.xml",
"ref/netstandard1.3/es/System.Collections.xml",
"ref/netstandard1.3/fr/System.Collections.xml",
"ref/netstandard1.3/it/System.Collections.xml",
"ref/netstandard1.3/ja/System.Collections.xml",
"ref/netstandard1.3/ko/System.Collections.xml",
"ref/netstandard1.3/ru/System.Collections.xml",
"ref/netstandard1.3/zh-hans/System.Collections.xml",
"ref/netstandard1.3/zh-hant/System.Collections.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Collections.Concurrent/4.3.0": {
"sha512": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
"type": "package",
"path": "System.Collections.Concurrent/4.3.0",
"files": [
"System.Collections.Concurrent.4.3.0.nupkg.sha512",
"System.Collections.Concurrent.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.Collections.Concurrent.dll",
"lib/netstandard1.3/System.Collections.Concurrent.dll",
"lib/portable-net45+win8+wpa81/_._",
"lib/win8/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Collections.Concurrent.dll",
"ref/netcore50/System.Collections.Concurrent.xml",
"ref/netcore50/de/System.Collections.Concurrent.xml",
"ref/netcore50/es/System.Collections.Concurrent.xml",
"ref/netcore50/fr/System.Collections.Concurrent.xml",
"ref/netcore50/it/System.Collections.Concurrent.xml",
"ref/netcore50/ja/System.Collections.Concurrent.xml",
"ref/netcore50/ko/System.Collections.Concurrent.xml",
"ref/netcore50/ru/System.Collections.Concurrent.xml",
"ref/netcore50/zh-hans/System.Collections.Concurrent.xml",
"ref/netcore50/zh-hant/System.Collections.Concurrent.xml",
"ref/netstandard1.1/System.Collections.Concurrent.dll",
"ref/netstandard1.1/System.Collections.Concurrent.xml",
"ref/netstandard1.1/de/System.Collections.Concurrent.xml",
"ref/netstandard1.1/es/System.Collections.Concurrent.xml",
"ref/netstandard1.1/fr/System.Collections.Concurrent.xml",
"ref/netstandard1.1/it/System.Collections.Concurrent.xml",
"ref/netstandard1.1/ja/System.Collections.Concurrent.xml",
"ref/netstandard1.1/ko/System.Collections.Concurrent.xml",
"ref/netstandard1.1/ru/System.Collections.Concurrent.xml",
"ref/netstandard1.1/zh-hans/System.Collections.Concurrent.xml",
"ref/netstandard1.1/zh-hant/System.Collections.Concurrent.xml",
"ref/netstandard1.3/System.Collections.Concurrent.dll",
"ref/netstandard1.3/System.Collections.Concurrent.xml",
"ref/netstandard1.3/de/System.Collections.Concurrent.xml",
"ref/netstandard1.3/es/System.Collections.Concurrent.xml",
"ref/netstandard1.3/fr/System.Collections.Concurrent.xml",
"ref/netstandard1.3/it/System.Collections.Concurrent.xml",
"ref/netstandard1.3/ja/System.Collections.Concurrent.xml",
"ref/netstandard1.3/ko/System.Collections.Concurrent.xml",
"ref/netstandard1.3/ru/System.Collections.Concurrent.xml",
"ref/netstandard1.3/zh-hans/System.Collections.Concurrent.xml",
"ref/netstandard1.3/zh-hant/System.Collections.Concurrent.xml",
"ref/portable-net45+win8+wpa81/_._",
"ref/win8/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Collections.Immutable/1.1.37": {
"sha512": "fTpqwZYBzoklTT+XjTRK8KxvmrGkYHzBiylCcKyQcxiOM8k+QvhNBxRvFHDWzy4OEP5f8/9n+xQ9mEgEXY+muA==",
"type": "package",
"files": [
"System.Collections.Immutable.1.1.37.nupkg.sha512",
"System.Collections.Immutable.nuspec",
"lib/dotnet/System.Collections.Immutable.dll",
"lib/dotnet/System.Collections.Immutable.xml",
"lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll",
"lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml"
]
},
"System.ComponentModel/4.3.0": {
"sha512": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==",
"type": "package",
"path": "System.ComponentModel/4.3.0",
"files": [
"System.ComponentModel.4.3.0.nupkg.sha512",
"System.ComponentModel.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.ComponentModel.dll",
"lib/netstandard1.3/System.ComponentModel.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.ComponentModel.dll",
"ref/netcore50/System.ComponentModel.xml",
"ref/netcore50/de/System.ComponentModel.xml",
"ref/netcore50/es/System.ComponentModel.xml",
"ref/netcore50/fr/System.ComponentModel.xml",
"ref/netcore50/it/System.ComponentModel.xml",
"ref/netcore50/ja/System.ComponentModel.xml",
"ref/netcore50/ko/System.ComponentModel.xml",
"ref/netcore50/ru/System.ComponentModel.xml",
"ref/netcore50/zh-hans/System.ComponentModel.xml",
"ref/netcore50/zh-hant/System.ComponentModel.xml",
"ref/netstandard1.0/System.ComponentModel.dll",
"ref/netstandard1.0/System.ComponentModel.xml",
"ref/netstandard1.0/de/System.ComponentModel.xml",
"ref/netstandard1.0/es/System.ComponentModel.xml",
"ref/netstandard1.0/fr/System.ComponentModel.xml",
"ref/netstandard1.0/it/System.ComponentModel.xml",
"ref/netstandard1.0/ja/System.ComponentModel.xml",
"ref/netstandard1.0/ko/System.ComponentModel.xml",
"ref/netstandard1.0/ru/System.ComponentModel.xml",
"ref/netstandard1.0/zh-hans/System.ComponentModel.xml",
"ref/netstandard1.0/zh-hant/System.ComponentModel.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Diagnostics.Contracts/4.3.0": {
"sha512": "eelRRbnm+OloiQvp9CXS0ixjNQldjjkHO4iIkR5XH2VIP8sUB/SIpa1TdUW6/+HDcQ+MlhP3pNa1u5SbzYuWGA==",
"type": "package",
"path": "System.Diagnostics.Contracts/4.3.0",
"files": [
"System.Diagnostics.Contracts.4.3.0.nupkg.sha512",
"System.Diagnostics.Contracts.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.Diagnostics.Contracts.dll",
"lib/netstandard1.0/System.Diagnostics.Contracts.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Diagnostics.Contracts.dll",
"ref/netcore50/System.Diagnostics.Contracts.xml",
"ref/netcore50/de/System.Diagnostics.Contracts.xml",
"ref/netcore50/es/System.Diagnostics.Contracts.xml",
"ref/netcore50/fr/System.Diagnostics.Contracts.xml",
"ref/netcore50/it/System.Diagnostics.Contracts.xml",
"ref/netcore50/ja/System.Diagnostics.Contracts.xml",
"ref/netcore50/ko/System.Diagnostics.Contracts.xml",
"ref/netcore50/ru/System.Diagnostics.Contracts.xml",
"ref/netcore50/zh-hans/System.Diagnostics.Contracts.xml",
"ref/netcore50/zh-hant/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/System.Diagnostics.Contracts.dll",
"ref/netstandard1.0/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/de/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/es/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/fr/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/it/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/ja/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/ko/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/ru/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/zh-hans/System.Diagnostics.Contracts.xml",
"ref/netstandard1.0/zh-hant/System.Diagnostics.Contracts.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/aot/lib/netcore50/System.Diagnostics.Contracts.dll"
]
},
"System.Diagnostics.Debug/4.3.0": {
"sha512": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
"type": "package",
"path": "System.Diagnostics.Debug/4.3.0",
"files": [
"System.Diagnostics.Debug.4.3.0.nupkg.sha512",
"System.Diagnostics.Debug.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Diagnostics.Debug.dll",
"ref/netcore50/System.Diagnostics.Debug.xml",
"ref/netcore50/de/System.Diagnostics.Debug.xml",
"ref/netcore50/es/System.Diagnostics.Debug.xml",
"ref/netcore50/fr/System.Diagnostics.Debug.xml",
"ref/netcore50/it/System.Diagnostics.Debug.xml",
"ref/netcore50/ja/System.Diagnostics.Debug.xml",
"ref/netcore50/ko/System.Diagnostics.Debug.xml",
"ref/netcore50/ru/System.Diagnostics.Debug.xml",
"ref/netcore50/zh-hans/System.Diagnostics.Debug.xml",
"ref/netcore50/zh-hant/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/System.Diagnostics.Debug.dll",
"ref/netstandard1.0/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/de/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/es/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/fr/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/it/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/ja/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/ko/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/ru/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml",
"ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/System.Diagnostics.Debug.dll",
"ref/netstandard1.3/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/de/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/es/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/fr/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/it/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/ja/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/ko/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/ru/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml",
"ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Diagnostics.DiagnosticSource/4.3.0": {
"sha512": "tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==",
"type": "package",
"path": "System.Diagnostics.DiagnosticSource/4.3.0",
"files": [
"System.Diagnostics.DiagnosticSource.4.3.0.nupkg.sha512",
"System.Diagnostics.DiagnosticSource.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/net46/System.Diagnostics.DiagnosticSource.dll",
"lib/net46/System.Diagnostics.DiagnosticSource.xml",
"lib/netstandard1.1/System.Diagnostics.DiagnosticSource.dll",
"lib/netstandard1.1/System.Diagnostics.DiagnosticSource.xml",
"lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll",
"lib/netstandard1.3/System.Diagnostics.DiagnosticSource.xml",
"lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll",
"lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.xml"
]
},
"System.Diagnostics.Tools/4.3.0": {
"sha512": "UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==",
"type": "package",
"path": "System.Diagnostics.Tools/4.3.0",
"files": [
"System.Diagnostics.Tools.4.3.0.nupkg.sha512",
"System.Diagnostics.Tools.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Diagnostics.Tools.dll",
"ref/netcore50/System.Diagnostics.Tools.xml",
"ref/netcore50/de/System.Diagnostics.Tools.xml",
"ref/netcore50/es/System.Diagnostics.Tools.xml",
"ref/netcore50/fr/System.Diagnostics.Tools.xml",
"ref/netcore50/it/System.Diagnostics.Tools.xml",
"ref/netcore50/ja/System.Diagnostics.Tools.xml",
"ref/netcore50/ko/System.Diagnostics.Tools.xml",
"ref/netcore50/ru/System.Diagnostics.Tools.xml",
"ref/netcore50/zh-hans/System.Diagnostics.Tools.xml",
"ref/netcore50/zh-hant/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/System.Diagnostics.Tools.dll",
"ref/netstandard1.0/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/de/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/es/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/fr/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/it/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/ja/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/ko/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/ru/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml",
"ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Diagnostics.Tracing/4.3.0": {
"sha512": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
"type": "package",
"path": "System.Diagnostics.Tracing/4.3.0",
"files": [
"System.Diagnostics.Tracing.4.3.0.nupkg.sha512",
"System.Diagnostics.Tracing.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net462/System.Diagnostics.Tracing.dll",
"lib/portable-net45+win8+wpa81/_._",
"lib/win8/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net462/System.Diagnostics.Tracing.dll",
"ref/netcore50/System.Diagnostics.Tracing.dll",
"ref/netcore50/System.Diagnostics.Tracing.xml",
"ref/netcore50/de/System.Diagnostics.Tracing.xml",
"ref/netcore50/es/System.Diagnostics.Tracing.xml",
"ref/netcore50/fr/System.Diagnostics.Tracing.xml",
"ref/netcore50/it/System.Diagnostics.Tracing.xml",
"ref/netcore50/ja/System.Diagnostics.Tracing.xml",
"ref/netcore50/ko/System.Diagnostics.Tracing.xml",
"ref/netcore50/ru/System.Diagnostics.Tracing.xml",
"ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml",
"ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/System.Diagnostics.Tracing.dll",
"ref/netstandard1.1/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/de/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/es/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/fr/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/it/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/ja/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/ko/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/ru/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/zh-hans/System.Diagnostics.Tracing.xml",
"ref/netstandard1.1/zh-hant/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/System.Diagnostics.Tracing.dll",
"ref/netstandard1.2/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/de/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/es/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/fr/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/it/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/ja/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/ko/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/ru/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/zh-hans/System.Diagnostics.Tracing.xml",
"ref/netstandard1.2/zh-hant/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/System.Diagnostics.Tracing.dll",
"ref/netstandard1.3/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/de/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/es/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/fr/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/it/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/ja/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/ko/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/ru/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/zh-hans/System.Diagnostics.Tracing.xml",
"ref/netstandard1.3/zh-hant/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/System.Diagnostics.Tracing.dll",
"ref/netstandard1.5/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/de/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/es/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/fr/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/it/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/ja/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/ko/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/ru/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/zh-hans/System.Diagnostics.Tracing.xml",
"ref/netstandard1.5/zh-hant/System.Diagnostics.Tracing.xml",
"ref/portable-net45+win8+wpa81/_._",
"ref/win8/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Globalization/4.3.0": {
"sha512": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
"type": "package",
"path": "System.Globalization/4.3.0",
"files": [
"System.Globalization.4.3.0.nupkg.sha512",
"System.Globalization.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Globalization.dll",
"ref/netcore50/System.Globalization.xml",
"ref/netcore50/de/System.Globalization.xml",
"ref/netcore50/es/System.Globalization.xml",
"ref/netcore50/fr/System.Globalization.xml",
"ref/netcore50/it/System.Globalization.xml",
"ref/netcore50/ja/System.Globalization.xml",
"ref/netcore50/ko/System.Globalization.xml",
"ref/netcore50/ru/System.Globalization.xml",
"ref/netcore50/zh-hans/System.Globalization.xml",
"ref/netcore50/zh-hant/System.Globalization.xml",
"ref/netstandard1.0/System.Globalization.dll",
"ref/netstandard1.0/System.Globalization.xml",
"ref/netstandard1.0/de/System.Globalization.xml",
"ref/netstandard1.0/es/System.Globalization.xml",
"ref/netstandard1.0/fr/System.Globalization.xml",
"ref/netstandard1.0/it/System.Globalization.xml",
"ref/netstandard1.0/ja/System.Globalization.xml",
"ref/netstandard1.0/ko/System.Globalization.xml",
"ref/netstandard1.0/ru/System.Globalization.xml",
"ref/netstandard1.0/zh-hans/System.Globalization.xml",
"ref/netstandard1.0/zh-hant/System.Globalization.xml",
"ref/netstandard1.3/System.Globalization.dll",
"ref/netstandard1.3/System.Globalization.xml",
"ref/netstandard1.3/de/System.Globalization.xml",
"ref/netstandard1.3/es/System.Globalization.xml",
"ref/netstandard1.3/fr/System.Globalization.xml",
"ref/netstandard1.3/it/System.Globalization.xml",
"ref/netstandard1.3/ja/System.Globalization.xml",
"ref/netstandard1.3/ko/System.Globalization.xml",
"ref/netstandard1.3/ru/System.Globalization.xml",
"ref/netstandard1.3/zh-hans/System.Globalization.xml",
"ref/netstandard1.3/zh-hant/System.Globalization.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.IO/4.3.0": {
"sha512": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
"type": "package",
"path": "System.IO/4.3.0",
"files": [
"System.IO.4.3.0.nupkg.sha512",
"System.IO.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net462/System.IO.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net462/System.IO.dll",
"ref/netcore50/System.IO.dll",
"ref/netcore50/System.IO.xml",
"ref/netcore50/de/System.IO.xml",
"ref/netcore50/es/System.IO.xml",
"ref/netcore50/fr/System.IO.xml",
"ref/netcore50/it/System.IO.xml",
"ref/netcore50/ja/System.IO.xml",
"ref/netcore50/ko/System.IO.xml",
"ref/netcore50/ru/System.IO.xml",
"ref/netcore50/zh-hans/System.IO.xml",
"ref/netcore50/zh-hant/System.IO.xml",
"ref/netstandard1.0/System.IO.dll",
"ref/netstandard1.0/System.IO.xml",
"ref/netstandard1.0/de/System.IO.xml",
"ref/netstandard1.0/es/System.IO.xml",
"ref/netstandard1.0/fr/System.IO.xml",
"ref/netstandard1.0/it/System.IO.xml",
"ref/netstandard1.0/ja/System.IO.xml",
"ref/netstandard1.0/ko/System.IO.xml",
"ref/netstandard1.0/ru/System.IO.xml",
"ref/netstandard1.0/zh-hans/System.IO.xml",
"ref/netstandard1.0/zh-hant/System.IO.xml",
"ref/netstandard1.3/System.IO.dll",
"ref/netstandard1.3/System.IO.xml",
"ref/netstandard1.3/de/System.IO.xml",
"ref/netstandard1.3/es/System.IO.xml",
"ref/netstandard1.3/fr/System.IO.xml",
"ref/netstandard1.3/it/System.IO.xml",
"ref/netstandard1.3/ja/System.IO.xml",
"ref/netstandard1.3/ko/System.IO.xml",
"ref/netstandard1.3/ru/System.IO.xml",
"ref/netstandard1.3/zh-hans/System.IO.xml",
"ref/netstandard1.3/zh-hant/System.IO.xml",
"ref/netstandard1.5/System.IO.dll",
"ref/netstandard1.5/System.IO.xml",
"ref/netstandard1.5/de/System.IO.xml",
"ref/netstandard1.5/es/System.IO.xml",
"ref/netstandard1.5/fr/System.IO.xml",
"ref/netstandard1.5/it/System.IO.xml",
"ref/netstandard1.5/ja/System.IO.xml",
"ref/netstandard1.5/ko/System.IO.xml",
"ref/netstandard1.5/ru/System.IO.xml",
"ref/netstandard1.5/zh-hans/System.IO.xml",
"ref/netstandard1.5/zh-hant/System.IO.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.IO.Compression/4.3.0": {
"sha512": "YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==",
"type": "package",
"path": "System.IO.Compression/4.3.0",
"files": [
"System.IO.Compression.4.3.0.nupkg.sha512",
"System.IO.Compression.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net46/System.IO.Compression.dll",
"lib/portable-net45+win8+wpa81/_._",
"lib/win8/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net46/System.IO.Compression.dll",
"ref/netcore50/System.IO.Compression.dll",
"ref/netcore50/System.IO.Compression.xml",
"ref/netcore50/de/System.IO.Compression.xml",
"ref/netcore50/es/System.IO.Compression.xml",
"ref/netcore50/fr/System.IO.Compression.xml",
"ref/netcore50/it/System.IO.Compression.xml",
"ref/netcore50/ja/System.IO.Compression.xml",
"ref/netcore50/ko/System.IO.Compression.xml",
"ref/netcore50/ru/System.IO.Compression.xml",
"ref/netcore50/zh-hans/System.IO.Compression.xml",
"ref/netcore50/zh-hant/System.IO.Compression.xml",
"ref/netstandard1.1/System.IO.Compression.dll",
"ref/netstandard1.1/System.IO.Compression.xml",
"ref/netstandard1.1/de/System.IO.Compression.xml",
"ref/netstandard1.1/es/System.IO.Compression.xml",
"ref/netstandard1.1/fr/System.IO.Compression.xml",
"ref/netstandard1.1/it/System.IO.Compression.xml",
"ref/netstandard1.1/ja/System.IO.Compression.xml",
"ref/netstandard1.1/ko/System.IO.Compression.xml",
"ref/netstandard1.1/ru/System.IO.Compression.xml",
"ref/netstandard1.1/zh-hans/System.IO.Compression.xml",
"ref/netstandard1.1/zh-hant/System.IO.Compression.xml",
"ref/netstandard1.3/System.IO.Compression.dll",
"ref/netstandard1.3/System.IO.Compression.xml",
"ref/netstandard1.3/de/System.IO.Compression.xml",
"ref/netstandard1.3/es/System.IO.Compression.xml",
"ref/netstandard1.3/fr/System.IO.Compression.xml",
"ref/netstandard1.3/it/System.IO.Compression.xml",
"ref/netstandard1.3/ja/System.IO.Compression.xml",
"ref/netstandard1.3/ko/System.IO.Compression.xml",
"ref/netstandard1.3/ru/System.IO.Compression.xml",
"ref/netstandard1.3/zh-hans/System.IO.Compression.xml",
"ref/netstandard1.3/zh-hant/System.IO.Compression.xml",
"ref/portable-net45+win8+wpa81/_._",
"ref/win8/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll",
"runtimes/win/lib/net46/System.IO.Compression.dll",
"runtimes/win/lib/netstandard1.3/System.IO.Compression.dll"
]
},
"System.Linq/4.3.0": {
"sha512": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==",
"type": "package",
"path": "System.Linq/4.3.0",
"files": [
"System.Linq.4.3.0.nupkg.sha512",
"System.Linq.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net463/System.Linq.dll",
"lib/netcore50/System.Linq.dll",
"lib/netstandard1.6/System.Linq.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net463/System.Linq.dll",
"ref/netcore50/System.Linq.dll",
"ref/netcore50/System.Linq.xml",
"ref/netcore50/de/System.Linq.xml",
"ref/netcore50/es/System.Linq.xml",
"ref/netcore50/fr/System.Linq.xml",
"ref/netcore50/it/System.Linq.xml",
"ref/netcore50/ja/System.Linq.xml",
"ref/netcore50/ko/System.Linq.xml",
"ref/netcore50/ru/System.Linq.xml",
"ref/netcore50/zh-hans/System.Linq.xml",
"ref/netcore50/zh-hant/System.Linq.xml",
"ref/netstandard1.0/System.Linq.dll",
"ref/netstandard1.0/System.Linq.xml",
"ref/netstandard1.0/de/System.Linq.xml",
"ref/netstandard1.0/es/System.Linq.xml",
"ref/netstandard1.0/fr/System.Linq.xml",
"ref/netstandard1.0/it/System.Linq.xml",
"ref/netstandard1.0/ja/System.Linq.xml",
"ref/netstandard1.0/ko/System.Linq.xml",
"ref/netstandard1.0/ru/System.Linq.xml",
"ref/netstandard1.0/zh-hans/System.Linq.xml",
"ref/netstandard1.0/zh-hant/System.Linq.xml",
"ref/netstandard1.6/System.Linq.dll",
"ref/netstandard1.6/System.Linq.xml",
"ref/netstandard1.6/de/System.Linq.xml",
"ref/netstandard1.6/es/System.Linq.xml",
"ref/netstandard1.6/fr/System.Linq.xml",
"ref/netstandard1.6/it/System.Linq.xml",
"ref/netstandard1.6/ja/System.Linq.xml",
"ref/netstandard1.6/ko/System.Linq.xml",
"ref/netstandard1.6/ru/System.Linq.xml",
"ref/netstandard1.6/zh-hans/System.Linq.xml",
"ref/netstandard1.6/zh-hant/System.Linq.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Linq.Expressions/4.3.0": {
"sha512": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==",
"type": "package",
"path": "System.Linq.Expressions/4.3.0",
"files": [
"System.Linq.Expressions.4.3.0.nupkg.sha512",
"System.Linq.Expressions.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net463/System.Linq.Expressions.dll",
"lib/netcore50/System.Linq.Expressions.dll",
"lib/netstandard1.6/System.Linq.Expressions.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net463/System.Linq.Expressions.dll",
"ref/netcore50/System.Linq.Expressions.dll",
"ref/netcore50/System.Linq.Expressions.xml",
"ref/netcore50/de/System.Linq.Expressions.xml",
"ref/netcore50/es/System.Linq.Expressions.xml",
"ref/netcore50/fr/System.Linq.Expressions.xml",
"ref/netcore50/it/System.Linq.Expressions.xml",
"ref/netcore50/ja/System.Linq.Expressions.xml",
"ref/netcore50/ko/System.Linq.Expressions.xml",
"ref/netcore50/ru/System.Linq.Expressions.xml",
"ref/netcore50/zh-hans/System.Linq.Expressions.xml",
"ref/netcore50/zh-hant/System.Linq.Expressions.xml",
"ref/netstandard1.0/System.Linq.Expressions.dll",
"ref/netstandard1.0/System.Linq.Expressions.xml",
"ref/netstandard1.0/de/System.Linq.Expressions.xml",
"ref/netstandard1.0/es/System.Linq.Expressions.xml",
"ref/netstandard1.0/fr/System.Linq.Expressions.xml",
"ref/netstandard1.0/it/System.Linq.Expressions.xml",
"ref/netstandard1.0/ja/System.Linq.Expressions.xml",
"ref/netstandard1.0/ko/System.Linq.Expressions.xml",
"ref/netstandard1.0/ru/System.Linq.Expressions.xml",
"ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml",
"ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml",
"ref/netstandard1.3/System.Linq.Expressions.dll",
"ref/netstandard1.3/System.Linq.Expressions.xml",
"ref/netstandard1.3/de/System.Linq.Expressions.xml",
"ref/netstandard1.3/es/System.Linq.Expressions.xml",
"ref/netstandard1.3/fr/System.Linq.Expressions.xml",
"ref/netstandard1.3/it/System.Linq.Expressions.xml",
"ref/netstandard1.3/ja/System.Linq.Expressions.xml",
"ref/netstandard1.3/ko/System.Linq.Expressions.xml",
"ref/netstandard1.3/ru/System.Linq.Expressions.xml",
"ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml",
"ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml",
"ref/netstandard1.6/System.Linq.Expressions.dll",
"ref/netstandard1.6/System.Linq.Expressions.xml",
"ref/netstandard1.6/de/System.Linq.Expressions.xml",
"ref/netstandard1.6/es/System.Linq.Expressions.xml",
"ref/netstandard1.6/fr/System.Linq.Expressions.xml",
"ref/netstandard1.6/it/System.Linq.Expressions.xml",
"ref/netstandard1.6/ja/System.Linq.Expressions.xml",
"ref/netstandard1.6/ko/System.Linq.Expressions.xml",
"ref/netstandard1.6/ru/System.Linq.Expressions.xml",
"ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml",
"ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/aot/lib/netcore50/System.Linq.Expressions.dll"
]
},
"System.Net.Http/4.3.0": {
"sha512": "sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==",
"type": "package",
"path": "System.Net.Http/4.3.0",
"files": [
"System.Net.Http.4.3.0.nupkg.sha512",
"System.Net.Http.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/Xamarinmac20/_._",
"lib/monoandroid10/_._",
"lib/monotouch10/_._",
"lib/net45/_._",
"lib/net46/System.Net.Http.dll",
"lib/portable-net45+win8+wpa81/_._",
"lib/win8/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/Xamarinmac20/_._",
"ref/monoandroid10/_._",
"ref/monotouch10/_._",
"ref/net45/_._",
"ref/net46/System.Net.Http.dll",
"ref/net46/System.Net.Http.xml",
"ref/net46/de/System.Net.Http.xml",
"ref/net46/es/System.Net.Http.xml",
"ref/net46/fr/System.Net.Http.xml",
"ref/net46/it/System.Net.Http.xml",
"ref/net46/ja/System.Net.Http.xml",
"ref/net46/ko/System.Net.Http.xml",
"ref/net46/ru/System.Net.Http.xml",
"ref/net46/zh-hans/System.Net.Http.xml",
"ref/net46/zh-hant/System.Net.Http.xml",
"ref/netcore50/System.Net.Http.dll",
"ref/netcore50/System.Net.Http.xml",
"ref/netcore50/de/System.Net.Http.xml",
"ref/netcore50/es/System.Net.Http.xml",
"ref/netcore50/fr/System.Net.Http.xml",
"ref/netcore50/it/System.Net.Http.xml",
"ref/netcore50/ja/System.Net.Http.xml",
"ref/netcore50/ko/System.Net.Http.xml",
"ref/netcore50/ru/System.Net.Http.xml",
"ref/netcore50/zh-hans/System.Net.Http.xml",
"ref/netcore50/zh-hant/System.Net.Http.xml",
"ref/netstandard1.1/System.Net.Http.dll",
"ref/netstandard1.1/System.Net.Http.xml",
"ref/netstandard1.1/de/System.Net.Http.xml",
"ref/netstandard1.1/es/System.Net.Http.xml",
"ref/netstandard1.1/fr/System.Net.Http.xml",
"ref/netstandard1.1/it/System.Net.Http.xml",
"ref/netstandard1.1/ja/System.Net.Http.xml",
"ref/netstandard1.1/ko/System.Net.Http.xml",
"ref/netstandard1.1/ru/System.Net.Http.xml",
"ref/netstandard1.1/zh-hans/System.Net.Http.xml",
"ref/netstandard1.1/zh-hant/System.Net.Http.xml",
"ref/netstandard1.3/System.Net.Http.dll",
"ref/netstandard1.3/System.Net.Http.xml",
"ref/netstandard1.3/de/System.Net.Http.xml",
"ref/netstandard1.3/es/System.Net.Http.xml",
"ref/netstandard1.3/fr/System.Net.Http.xml",
"ref/netstandard1.3/it/System.Net.Http.xml",
"ref/netstandard1.3/ja/System.Net.Http.xml",
"ref/netstandard1.3/ko/System.Net.Http.xml",
"ref/netstandard1.3/ru/System.Net.Http.xml",
"ref/netstandard1.3/zh-hans/System.Net.Http.xml",
"ref/netstandard1.3/zh-hant/System.Net.Http.xml",
"ref/portable-net45+win8+wpa81/_._",
"ref/win8/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/unix/lib/netstandard1.6/System.Net.Http.dll",
"runtimes/win/lib/net46/System.Net.Http.dll",
"runtimes/win/lib/netcore50/System.Net.Http.dll",
"runtimes/win/lib/netstandard1.3/System.Net.Http.dll"
]
},
"System.Net.Primitives/4.3.0": {
"sha512": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==",
"type": "package",
"path": "System.Net.Primitives/4.3.0",
"files": [
"System.Net.Primitives.4.3.0.nupkg.sha512",
"System.Net.Primitives.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Net.Primitives.dll",
"ref/netcore50/System.Net.Primitives.xml",
"ref/netcore50/de/System.Net.Primitives.xml",
"ref/netcore50/es/System.Net.Primitives.xml",
"ref/netcore50/fr/System.Net.Primitives.xml",
"ref/netcore50/it/System.Net.Primitives.xml",
"ref/netcore50/ja/System.Net.Primitives.xml",
"ref/netcore50/ko/System.Net.Primitives.xml",
"ref/netcore50/ru/System.Net.Primitives.xml",
"ref/netcore50/zh-hans/System.Net.Primitives.xml",
"ref/netcore50/zh-hant/System.Net.Primitives.xml",
"ref/netstandard1.0/System.Net.Primitives.dll",
"ref/netstandard1.0/System.Net.Primitives.xml",
"ref/netstandard1.0/de/System.Net.Primitives.xml",
"ref/netstandard1.0/es/System.Net.Primitives.xml",
"ref/netstandard1.0/fr/System.Net.Primitives.xml",
"ref/netstandard1.0/it/System.Net.Primitives.xml",
"ref/netstandard1.0/ja/System.Net.Primitives.xml",
"ref/netstandard1.0/ko/System.Net.Primitives.xml",
"ref/netstandard1.0/ru/System.Net.Primitives.xml",
"ref/netstandard1.0/zh-hans/System.Net.Primitives.xml",
"ref/netstandard1.0/zh-hant/System.Net.Primitives.xml",
"ref/netstandard1.1/System.Net.Primitives.dll",
"ref/netstandard1.1/System.Net.Primitives.xml",
"ref/netstandard1.1/de/System.Net.Primitives.xml",
"ref/netstandard1.1/es/System.Net.Primitives.xml",
"ref/netstandard1.1/fr/System.Net.Primitives.xml",
"ref/netstandard1.1/it/System.Net.Primitives.xml",
"ref/netstandard1.1/ja/System.Net.Primitives.xml",
"ref/netstandard1.1/ko/System.Net.Primitives.xml",
"ref/netstandard1.1/ru/System.Net.Primitives.xml",
"ref/netstandard1.1/zh-hans/System.Net.Primitives.xml",
"ref/netstandard1.1/zh-hant/System.Net.Primitives.xml",
"ref/netstandard1.3/System.Net.Primitives.dll",
"ref/netstandard1.3/System.Net.Primitives.xml",
"ref/netstandard1.3/de/System.Net.Primitives.xml",
"ref/netstandard1.3/es/System.Net.Primitives.xml",
"ref/netstandard1.3/fr/System.Net.Primitives.xml",
"ref/netstandard1.3/it/System.Net.Primitives.xml",
"ref/netstandard1.3/ja/System.Net.Primitives.xml",
"ref/netstandard1.3/ko/System.Net.Primitives.xml",
"ref/netstandard1.3/ru/System.Net.Primitives.xml",
"ref/netstandard1.3/zh-hans/System.Net.Primitives.xml",
"ref/netstandard1.3/zh-hant/System.Net.Primitives.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.ObjectModel/4.3.0": {
"sha512": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==",
"type": "package",
"path": "System.ObjectModel/4.3.0",
"files": [
"System.ObjectModel.4.3.0.nupkg.sha512",
"System.ObjectModel.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.ObjectModel.dll",
"lib/netstandard1.3/System.ObjectModel.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.ObjectModel.dll",
"ref/netcore50/System.ObjectModel.xml",
"ref/netcore50/de/System.ObjectModel.xml",
"ref/netcore50/es/System.ObjectModel.xml",
"ref/netcore50/fr/System.ObjectModel.xml",
"ref/netcore50/it/System.ObjectModel.xml",
"ref/netcore50/ja/System.ObjectModel.xml",
"ref/netcore50/ko/System.ObjectModel.xml",
"ref/netcore50/ru/System.ObjectModel.xml",
"ref/netcore50/zh-hans/System.ObjectModel.xml",
"ref/netcore50/zh-hant/System.ObjectModel.xml",
"ref/netstandard1.0/System.ObjectModel.dll",
"ref/netstandard1.0/System.ObjectModel.xml",
"ref/netstandard1.0/de/System.ObjectModel.xml",
"ref/netstandard1.0/es/System.ObjectModel.xml",
"ref/netstandard1.0/fr/System.ObjectModel.xml",
"ref/netstandard1.0/it/System.ObjectModel.xml",
"ref/netstandard1.0/ja/System.ObjectModel.xml",
"ref/netstandard1.0/ko/System.ObjectModel.xml",
"ref/netstandard1.0/ru/System.ObjectModel.xml",
"ref/netstandard1.0/zh-hans/System.ObjectModel.xml",
"ref/netstandard1.0/zh-hant/System.ObjectModel.xml",
"ref/netstandard1.3/System.ObjectModel.dll",
"ref/netstandard1.3/System.ObjectModel.xml",
"ref/netstandard1.3/de/System.ObjectModel.xml",
"ref/netstandard1.3/es/System.ObjectModel.xml",
"ref/netstandard1.3/fr/System.ObjectModel.xml",
"ref/netstandard1.3/it/System.ObjectModel.xml",
"ref/netstandard1.3/ja/System.ObjectModel.xml",
"ref/netstandard1.3/ko/System.ObjectModel.xml",
"ref/netstandard1.3/ru/System.ObjectModel.xml",
"ref/netstandard1.3/zh-hans/System.ObjectModel.xml",
"ref/netstandard1.3/zh-hant/System.ObjectModel.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Reflection/4.3.0": {
"sha512": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
"type": "package",
"path": "System.Reflection/4.3.0",
"files": [
"System.Reflection.4.3.0.nupkg.sha512",
"System.Reflection.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net462/System.Reflection.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net462/System.Reflection.dll",
"ref/netcore50/System.Reflection.dll",
"ref/netcore50/System.Reflection.xml",
"ref/netcore50/de/System.Reflection.xml",
"ref/netcore50/es/System.Reflection.xml",
"ref/netcore50/fr/System.Reflection.xml",
"ref/netcore50/it/System.Reflection.xml",
"ref/netcore50/ja/System.Reflection.xml",
"ref/netcore50/ko/System.Reflection.xml",
"ref/netcore50/ru/System.Reflection.xml",
"ref/netcore50/zh-hans/System.Reflection.xml",
"ref/netcore50/zh-hant/System.Reflection.xml",
"ref/netstandard1.0/System.Reflection.dll",
"ref/netstandard1.0/System.Reflection.xml",
"ref/netstandard1.0/de/System.Reflection.xml",
"ref/netstandard1.0/es/System.Reflection.xml",
"ref/netstandard1.0/fr/System.Reflection.xml",
"ref/netstandard1.0/it/System.Reflection.xml",
"ref/netstandard1.0/ja/System.Reflection.xml",
"ref/netstandard1.0/ko/System.Reflection.xml",
"ref/netstandard1.0/ru/System.Reflection.xml",
"ref/netstandard1.0/zh-hans/System.Reflection.xml",
"ref/netstandard1.0/zh-hant/System.Reflection.xml",
"ref/netstandard1.3/System.Reflection.dll",
"ref/netstandard1.3/System.Reflection.xml",
"ref/netstandard1.3/de/System.Reflection.xml",
"ref/netstandard1.3/es/System.Reflection.xml",
"ref/netstandard1.3/fr/System.Reflection.xml",
"ref/netstandard1.3/it/System.Reflection.xml",
"ref/netstandard1.3/ja/System.Reflection.xml",
"ref/netstandard1.3/ko/System.Reflection.xml",
"ref/netstandard1.3/ru/System.Reflection.xml",
"ref/netstandard1.3/zh-hans/System.Reflection.xml",
"ref/netstandard1.3/zh-hant/System.Reflection.xml",
"ref/netstandard1.5/System.Reflection.dll",
"ref/netstandard1.5/System.Reflection.xml",
"ref/netstandard1.5/de/System.Reflection.xml",
"ref/netstandard1.5/es/System.Reflection.xml",
"ref/netstandard1.5/fr/System.Reflection.xml",
"ref/netstandard1.5/it/System.Reflection.xml",
"ref/netstandard1.5/ja/System.Reflection.xml",
"ref/netstandard1.5/ko/System.Reflection.xml",
"ref/netstandard1.5/ru/System.Reflection.xml",
"ref/netstandard1.5/zh-hans/System.Reflection.xml",
"ref/netstandard1.5/zh-hant/System.Reflection.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Reflection.Extensions/4.3.0": {
"sha512": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==",
"type": "package",
"path": "System.Reflection.Extensions/4.3.0",
"files": [
"System.Reflection.Extensions.4.3.0.nupkg.sha512",
"System.Reflection.Extensions.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Reflection.Extensions.dll",
"ref/netcore50/System.Reflection.Extensions.xml",
"ref/netcore50/de/System.Reflection.Extensions.xml",
"ref/netcore50/es/System.Reflection.Extensions.xml",
"ref/netcore50/fr/System.Reflection.Extensions.xml",
"ref/netcore50/it/System.Reflection.Extensions.xml",
"ref/netcore50/ja/System.Reflection.Extensions.xml",
"ref/netcore50/ko/System.Reflection.Extensions.xml",
"ref/netcore50/ru/System.Reflection.Extensions.xml",
"ref/netcore50/zh-hans/System.Reflection.Extensions.xml",
"ref/netcore50/zh-hant/System.Reflection.Extensions.xml",
"ref/netstandard1.0/System.Reflection.Extensions.dll",
"ref/netstandard1.0/System.Reflection.Extensions.xml",
"ref/netstandard1.0/de/System.Reflection.Extensions.xml",
"ref/netstandard1.0/es/System.Reflection.Extensions.xml",
"ref/netstandard1.0/fr/System.Reflection.Extensions.xml",
"ref/netstandard1.0/it/System.Reflection.Extensions.xml",
"ref/netstandard1.0/ja/System.Reflection.Extensions.xml",
"ref/netstandard1.0/ko/System.Reflection.Extensions.xml",
"ref/netstandard1.0/ru/System.Reflection.Extensions.xml",
"ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml",
"ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Reflection.Metadata/1.2.0": {
"sha512": "ubQKFCNYPwhqPXPLjRKCvTDR2UvL5L5+Tm181D/5kl/df7264AuXDi2j2Bf5DxplBxevq8eUH9LRomcFCXTQKw==",
"type": "package",
"files": [
"System.Reflection.Metadata.1.2.0.nupkg.sha512",
"System.Reflection.Metadata.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/netstandard1.1/System.Reflection.Metadata.dll",
"lib/netstandard1.1/System.Reflection.Metadata.xml",
"lib/portable-net45+win8/System.Reflection.Metadata.dll",
"lib/portable-net45+win8/System.Reflection.Metadata.xml"
]
},
"System.Reflection.Primitives/4.3.0": {
"sha512": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
"type": "package",
"path": "System.Reflection.Primitives/4.3.0",
"files": [
"System.Reflection.Primitives.4.3.0.nupkg.sha512",
"System.Reflection.Primitives.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Reflection.Primitives.dll",
"ref/netcore50/System.Reflection.Primitives.xml",
"ref/netcore50/de/System.Reflection.Primitives.xml",
"ref/netcore50/es/System.Reflection.Primitives.xml",
"ref/netcore50/fr/System.Reflection.Primitives.xml",
"ref/netcore50/it/System.Reflection.Primitives.xml",
"ref/netcore50/ja/System.Reflection.Primitives.xml",
"ref/netcore50/ko/System.Reflection.Primitives.xml",
"ref/netcore50/ru/System.Reflection.Primitives.xml",
"ref/netcore50/zh-hans/System.Reflection.Primitives.xml",
"ref/netcore50/zh-hant/System.Reflection.Primitives.xml",
"ref/netstandard1.0/System.Reflection.Primitives.dll",
"ref/netstandard1.0/System.Reflection.Primitives.xml",
"ref/netstandard1.0/de/System.Reflection.Primitives.xml",
"ref/netstandard1.0/es/System.Reflection.Primitives.xml",
"ref/netstandard1.0/fr/System.Reflection.Primitives.xml",
"ref/netstandard1.0/it/System.Reflection.Primitives.xml",
"ref/netstandard1.0/ja/System.Reflection.Primitives.xml",
"ref/netstandard1.0/ko/System.Reflection.Primitives.xml",
"ref/netstandard1.0/ru/System.Reflection.Primitives.xml",
"ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml",
"ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Resources.ResourceManager/4.3.0": {
"sha512": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
"type": "package",
"path": "System.Resources.ResourceManager/4.3.0",
"files": [
"System.Resources.ResourceManager.4.3.0.nupkg.sha512",
"System.Resources.ResourceManager.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Resources.ResourceManager.dll",
"ref/netcore50/System.Resources.ResourceManager.xml",
"ref/netcore50/de/System.Resources.ResourceManager.xml",
"ref/netcore50/es/System.Resources.ResourceManager.xml",
"ref/netcore50/fr/System.Resources.ResourceManager.xml",
"ref/netcore50/it/System.Resources.ResourceManager.xml",
"ref/netcore50/ja/System.Resources.ResourceManager.xml",
"ref/netcore50/ko/System.Resources.ResourceManager.xml",
"ref/netcore50/ru/System.Resources.ResourceManager.xml",
"ref/netcore50/zh-hans/System.Resources.ResourceManager.xml",
"ref/netcore50/zh-hant/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/System.Resources.ResourceManager.dll",
"ref/netstandard1.0/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/de/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/es/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/fr/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/it/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/ja/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/ko/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/ru/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml",
"ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Runtime/4.3.0": {
"sha512": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
"type": "package",
"path": "System.Runtime/4.3.0",
"files": [
"System.Runtime.4.3.0.nupkg.sha512",
"System.Runtime.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net462/System.Runtime.dll",
"lib/portable-net45+win8+wp80+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net462/System.Runtime.dll",
"ref/netcore50/System.Runtime.dll",
"ref/netcore50/System.Runtime.xml",
"ref/netcore50/de/System.Runtime.xml",
"ref/netcore50/es/System.Runtime.xml",
"ref/netcore50/fr/System.Runtime.xml",
"ref/netcore50/it/System.Runtime.xml",
"ref/netcore50/ja/System.Runtime.xml",
"ref/netcore50/ko/System.Runtime.xml",
"ref/netcore50/ru/System.Runtime.xml",
"ref/netcore50/zh-hans/System.Runtime.xml",
"ref/netcore50/zh-hant/System.Runtime.xml",
"ref/netstandard1.0/System.Runtime.dll",
"ref/netstandard1.0/System.Runtime.xml",
"ref/netstandard1.0/de/System.Runtime.xml",
"ref/netstandard1.0/es/System.Runtime.xml",
"ref/netstandard1.0/fr/System.Runtime.xml",
"ref/netstandard1.0/it/System.Runtime.xml",
"ref/netstandard1.0/ja/System.Runtime.xml",
"ref/netstandard1.0/ko/System.Runtime.xml",
"ref/netstandard1.0/ru/System.Runtime.xml",
"ref/netstandard1.0/zh-hans/System.Runtime.xml",
"ref/netstandard1.0/zh-hant/System.Runtime.xml",
"ref/netstandard1.2/System.Runtime.dll",
"ref/netstandard1.2/System.Runtime.xml",
"ref/netstandard1.2/de/System.Runtime.xml",
"ref/netstandard1.2/es/System.Runtime.xml",
"ref/netstandard1.2/fr/System.Runtime.xml",
"ref/netstandard1.2/it/System.Runtime.xml",
"ref/netstandard1.2/ja/System.Runtime.xml",
"ref/netstandard1.2/ko/System.Runtime.xml",
"ref/netstandard1.2/ru/System.Runtime.xml",
"ref/netstandard1.2/zh-hans/System.Runtime.xml",
"ref/netstandard1.2/zh-hant/System.Runtime.xml",
"ref/netstandard1.3/System.Runtime.dll",
"ref/netstandard1.3/System.Runtime.xml",
"ref/netstandard1.3/de/System.Runtime.xml",
"ref/netstandard1.3/es/System.Runtime.xml",
"ref/netstandard1.3/fr/System.Runtime.xml",
"ref/netstandard1.3/it/System.Runtime.xml",
"ref/netstandard1.3/ja/System.Runtime.xml",
"ref/netstandard1.3/ko/System.Runtime.xml",
"ref/netstandard1.3/ru/System.Runtime.xml",
"ref/netstandard1.3/zh-hans/System.Runtime.xml",
"ref/netstandard1.3/zh-hant/System.Runtime.xml",
"ref/netstandard1.5/System.Runtime.dll",
"ref/netstandard1.5/System.Runtime.xml",
"ref/netstandard1.5/de/System.Runtime.xml",
"ref/netstandard1.5/es/System.Runtime.xml",
"ref/netstandard1.5/fr/System.Runtime.xml",
"ref/netstandard1.5/it/System.Runtime.xml",
"ref/netstandard1.5/ja/System.Runtime.xml",
"ref/netstandard1.5/ko/System.Runtime.xml",
"ref/netstandard1.5/ru/System.Runtime.xml",
"ref/netstandard1.5/zh-hans/System.Runtime.xml",
"ref/netstandard1.5/zh-hant/System.Runtime.xml",
"ref/portable-net45+win8+wp80+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Runtime.CompilerServices.Unsafe/4.3.0": {
"sha512": "rcnXA1U9W3QUtMSGoyoNHH6w4V5Rxa/EKXmzpORUYlDAlDB34hIQoU57ATXl8xHa83VvzRm6PcElEizgUd7U5w==",
"type": "package",
"path": "System.Runtime.CompilerServices.Unsafe/4.3.0",
"files": [
"System.Runtime.CompilerServices.Unsafe.4.3.0.nupkg.sha512",
"System.Runtime.CompilerServices.Unsafe.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml"
]
},
"System.Runtime.Extensions/4.3.0": {
"sha512": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
"type": "package",
"path": "System.Runtime.Extensions/4.3.0",
"files": [
"System.Runtime.Extensions.4.3.0.nupkg.sha512",
"System.Runtime.Extensions.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net462/System.Runtime.Extensions.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net462/System.Runtime.Extensions.dll",
"ref/netcore50/System.Runtime.Extensions.dll",
"ref/netcore50/System.Runtime.Extensions.xml",
"ref/netcore50/de/System.Runtime.Extensions.xml",
"ref/netcore50/es/System.Runtime.Extensions.xml",
"ref/netcore50/fr/System.Runtime.Extensions.xml",
"ref/netcore50/it/System.Runtime.Extensions.xml",
"ref/netcore50/ja/System.Runtime.Extensions.xml",
"ref/netcore50/ko/System.Runtime.Extensions.xml",
"ref/netcore50/ru/System.Runtime.Extensions.xml",
"ref/netcore50/zh-hans/System.Runtime.Extensions.xml",
"ref/netcore50/zh-hant/System.Runtime.Extensions.xml",
"ref/netstandard1.0/System.Runtime.Extensions.dll",
"ref/netstandard1.0/System.Runtime.Extensions.xml",
"ref/netstandard1.0/de/System.Runtime.Extensions.xml",
"ref/netstandard1.0/es/System.Runtime.Extensions.xml",
"ref/netstandard1.0/fr/System.Runtime.Extensions.xml",
"ref/netstandard1.0/it/System.Runtime.Extensions.xml",
"ref/netstandard1.0/ja/System.Runtime.Extensions.xml",
"ref/netstandard1.0/ko/System.Runtime.Extensions.xml",
"ref/netstandard1.0/ru/System.Runtime.Extensions.xml",
"ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml",
"ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml",
"ref/netstandard1.3/System.Runtime.Extensions.dll",
"ref/netstandard1.3/System.Runtime.Extensions.xml",
"ref/netstandard1.3/de/System.Runtime.Extensions.xml",
"ref/netstandard1.3/es/System.Runtime.Extensions.xml",
"ref/netstandard1.3/fr/System.Runtime.Extensions.xml",
"ref/netstandard1.3/it/System.Runtime.Extensions.xml",
"ref/netstandard1.3/ja/System.Runtime.Extensions.xml",
"ref/netstandard1.3/ko/System.Runtime.Extensions.xml",
"ref/netstandard1.3/ru/System.Runtime.Extensions.xml",
"ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml",
"ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml",
"ref/netstandard1.5/System.Runtime.Extensions.dll",
"ref/netstandard1.5/System.Runtime.Extensions.xml",
"ref/netstandard1.5/de/System.Runtime.Extensions.xml",
"ref/netstandard1.5/es/System.Runtime.Extensions.xml",
"ref/netstandard1.5/fr/System.Runtime.Extensions.xml",
"ref/netstandard1.5/it/System.Runtime.Extensions.xml",
"ref/netstandard1.5/ja/System.Runtime.Extensions.xml",
"ref/netstandard1.5/ko/System.Runtime.Extensions.xml",
"ref/netstandard1.5/ru/System.Runtime.Extensions.xml",
"ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml",
"ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Runtime.InteropServices/4.3.0": {
"sha512": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
"type": "package",
"path": "System.Runtime.InteropServices/4.3.0",
"files": [
"System.Runtime.InteropServices.4.3.0.nupkg.sha512",
"System.Runtime.InteropServices.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net462/System.Runtime.InteropServices.dll",
"lib/net463/System.Runtime.InteropServices.dll",
"lib/portable-net45+win8+wpa81/_._",
"lib/win8/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net462/System.Runtime.InteropServices.dll",
"ref/net463/System.Runtime.InteropServices.dll",
"ref/netcore50/System.Runtime.InteropServices.dll",
"ref/netcore50/System.Runtime.InteropServices.xml",
"ref/netcore50/de/System.Runtime.InteropServices.xml",
"ref/netcore50/es/System.Runtime.InteropServices.xml",
"ref/netcore50/fr/System.Runtime.InteropServices.xml",
"ref/netcore50/it/System.Runtime.InteropServices.xml",
"ref/netcore50/ja/System.Runtime.InteropServices.xml",
"ref/netcore50/ko/System.Runtime.InteropServices.xml",
"ref/netcore50/ru/System.Runtime.InteropServices.xml",
"ref/netcore50/zh-hans/System.Runtime.InteropServices.xml",
"ref/netcore50/zh-hant/System.Runtime.InteropServices.xml",
"ref/netcoreapp1.1/System.Runtime.InteropServices.dll",
"ref/netstandard1.1/System.Runtime.InteropServices.dll",
"ref/netstandard1.1/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/de/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/es/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/fr/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/it/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/ja/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/ko/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/ru/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml",
"ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/System.Runtime.InteropServices.dll",
"ref/netstandard1.2/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/de/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/es/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/fr/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/it/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/ja/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/ko/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/ru/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml",
"ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/System.Runtime.InteropServices.dll",
"ref/netstandard1.3/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/de/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/es/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/fr/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/it/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/ja/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/ko/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/ru/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml",
"ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/System.Runtime.InteropServices.dll",
"ref/netstandard1.5/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/de/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/es/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/fr/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/it/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/ja/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/ko/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/ru/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml",
"ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml",
"ref/portable-net45+win8+wpa81/_._",
"ref/win8/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Runtime.InteropServices.RuntimeInformation/4.3.0": {
"sha512": "cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==",
"type": "package",
"path": "System.Runtime.InteropServices.RuntimeInformation/4.3.0",
"files": [
"System.Runtime.InteropServices.RuntimeInformation.4.3.0.nupkg.sha512",
"System.Runtime.InteropServices.RuntimeInformation.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll",
"lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
"lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll",
"lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll",
"runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll",
"runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll",
"runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll",
"runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll"
]
},
"System.Runtime.Numerics/4.3.0": {
"sha512": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==",
"type": "package",
"path": "System.Runtime.Numerics/4.3.0",
"files": [
"System.Runtime.Numerics.4.3.0.nupkg.sha512",
"System.Runtime.Numerics.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.Runtime.Numerics.dll",
"lib/netstandard1.3/System.Runtime.Numerics.dll",
"lib/portable-net45+win8+wpa81/_._",
"lib/win8/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Runtime.Numerics.dll",
"ref/netcore50/System.Runtime.Numerics.xml",
"ref/netcore50/de/System.Runtime.Numerics.xml",
"ref/netcore50/es/System.Runtime.Numerics.xml",
"ref/netcore50/fr/System.Runtime.Numerics.xml",
"ref/netcore50/it/System.Runtime.Numerics.xml",
"ref/netcore50/ja/System.Runtime.Numerics.xml",
"ref/netcore50/ko/System.Runtime.Numerics.xml",
"ref/netcore50/ru/System.Runtime.Numerics.xml",
"ref/netcore50/zh-hans/System.Runtime.Numerics.xml",
"ref/netcore50/zh-hant/System.Runtime.Numerics.xml",
"ref/netstandard1.1/System.Runtime.Numerics.dll",
"ref/netstandard1.1/System.Runtime.Numerics.xml",
"ref/netstandard1.1/de/System.Runtime.Numerics.xml",
"ref/netstandard1.1/es/System.Runtime.Numerics.xml",
"ref/netstandard1.1/fr/System.Runtime.Numerics.xml",
"ref/netstandard1.1/it/System.Runtime.Numerics.xml",
"ref/netstandard1.1/ja/System.Runtime.Numerics.xml",
"ref/netstandard1.1/ko/System.Runtime.Numerics.xml",
"ref/netstandard1.1/ru/System.Runtime.Numerics.xml",
"ref/netstandard1.1/zh-hans/System.Runtime.Numerics.xml",
"ref/netstandard1.1/zh-hant/System.Runtime.Numerics.xml",
"ref/portable-net45+win8+wpa81/_._",
"ref/win8/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Text.Encoding/4.3.0": {
"sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
"type": "package",
"path": "System.Text.Encoding/4.3.0",
"files": [
"System.Text.Encoding.4.3.0.nupkg.sha512",
"System.Text.Encoding.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Text.Encoding.dll",
"ref/netcore50/System.Text.Encoding.xml",
"ref/netcore50/de/System.Text.Encoding.xml",
"ref/netcore50/es/System.Text.Encoding.xml",
"ref/netcore50/fr/System.Text.Encoding.xml",
"ref/netcore50/it/System.Text.Encoding.xml",
"ref/netcore50/ja/System.Text.Encoding.xml",
"ref/netcore50/ko/System.Text.Encoding.xml",
"ref/netcore50/ru/System.Text.Encoding.xml",
"ref/netcore50/zh-hans/System.Text.Encoding.xml",
"ref/netcore50/zh-hant/System.Text.Encoding.xml",
"ref/netstandard1.0/System.Text.Encoding.dll",
"ref/netstandard1.0/System.Text.Encoding.xml",
"ref/netstandard1.0/de/System.Text.Encoding.xml",
"ref/netstandard1.0/es/System.Text.Encoding.xml",
"ref/netstandard1.0/fr/System.Text.Encoding.xml",
"ref/netstandard1.0/it/System.Text.Encoding.xml",
"ref/netstandard1.0/ja/System.Text.Encoding.xml",
"ref/netstandard1.0/ko/System.Text.Encoding.xml",
"ref/netstandard1.0/ru/System.Text.Encoding.xml",
"ref/netstandard1.0/zh-hans/System.Text.Encoding.xml",
"ref/netstandard1.0/zh-hant/System.Text.Encoding.xml",
"ref/netstandard1.3/System.Text.Encoding.dll",
"ref/netstandard1.3/System.Text.Encoding.xml",
"ref/netstandard1.3/de/System.Text.Encoding.xml",
"ref/netstandard1.3/es/System.Text.Encoding.xml",
"ref/netstandard1.3/fr/System.Text.Encoding.xml",
"ref/netstandard1.3/it/System.Text.Encoding.xml",
"ref/netstandard1.3/ja/System.Text.Encoding.xml",
"ref/netstandard1.3/ko/System.Text.Encoding.xml",
"ref/netstandard1.3/ru/System.Text.Encoding.xml",
"ref/netstandard1.3/zh-hans/System.Text.Encoding.xml",
"ref/netstandard1.3/zh-hant/System.Text.Encoding.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Text.Encoding.Extensions/4.3.0": {
"sha512": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
"type": "package",
"path": "System.Text.Encoding.Extensions/4.3.0",
"files": [
"System.Text.Encoding.Extensions.4.3.0.nupkg.sha512",
"System.Text.Encoding.Extensions.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Text.Encoding.Extensions.dll",
"ref/netcore50/System.Text.Encoding.Extensions.xml",
"ref/netcore50/de/System.Text.Encoding.Extensions.xml",
"ref/netcore50/es/System.Text.Encoding.Extensions.xml",
"ref/netcore50/fr/System.Text.Encoding.Extensions.xml",
"ref/netcore50/it/System.Text.Encoding.Extensions.xml",
"ref/netcore50/ja/System.Text.Encoding.Extensions.xml",
"ref/netcore50/ko/System.Text.Encoding.Extensions.xml",
"ref/netcore50/ru/System.Text.Encoding.Extensions.xml",
"ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml",
"ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/System.Text.Encoding.Extensions.dll",
"ref/netstandard1.0/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/System.Text.Encoding.Extensions.dll",
"ref/netstandard1.3/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml",
"ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Text.Encodings.Web/4.3.0": {
"sha512": "ilLTKoirqw+Mbt+6x1MOxZKEwflasdP5WNuo5m5rKSXtAqazlEDqdyBH1XbvENuDQUtKNeP48CI1dyDNlEAeOA==",
"type": "package",
"path": "System.Text.Encodings.Web/4.3.0",
"files": [
"System.Text.Encodings.Web.4.3.0.nupkg.sha512",
"System.Text.Encodings.Web.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/netstandard1.0/System.Text.Encodings.Web.dll",
"lib/netstandard1.0/System.Text.Encodings.Web.xml"
]
},
"System.Text.RegularExpressions/4.3.0": {
"sha512": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
"type": "package",
"path": "System.Text.RegularExpressions/4.3.0",
"files": [
"System.Text.RegularExpressions.4.3.0.nupkg.sha512",
"System.Text.RegularExpressions.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net463/System.Text.RegularExpressions.dll",
"lib/netcore50/System.Text.RegularExpressions.dll",
"lib/netstandard1.6/System.Text.RegularExpressions.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net463/System.Text.RegularExpressions.dll",
"ref/netcore50/System.Text.RegularExpressions.dll",
"ref/netcore50/System.Text.RegularExpressions.xml",
"ref/netcore50/de/System.Text.RegularExpressions.xml",
"ref/netcore50/es/System.Text.RegularExpressions.xml",
"ref/netcore50/fr/System.Text.RegularExpressions.xml",
"ref/netcore50/it/System.Text.RegularExpressions.xml",
"ref/netcore50/ja/System.Text.RegularExpressions.xml",
"ref/netcore50/ko/System.Text.RegularExpressions.xml",
"ref/netcore50/ru/System.Text.RegularExpressions.xml",
"ref/netcore50/zh-hans/System.Text.RegularExpressions.xml",
"ref/netcore50/zh-hant/System.Text.RegularExpressions.xml",
"ref/netcoreapp1.1/System.Text.RegularExpressions.dll",
"ref/netstandard1.0/System.Text.RegularExpressions.dll",
"ref/netstandard1.0/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/de/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/es/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/fr/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/it/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/ja/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/ko/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/ru/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml",
"ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/System.Text.RegularExpressions.dll",
"ref/netstandard1.3/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/de/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/es/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/fr/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/it/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/ja/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/ko/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/ru/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml",
"ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/System.Text.RegularExpressions.dll",
"ref/netstandard1.6/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/de/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/es/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/fr/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/it/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/ja/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/ko/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/ru/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml",
"ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Threading/4.3.0": {
"sha512": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
"type": "package",
"path": "System.Threading/4.3.0",
"files": [
"System.Threading.4.3.0.nupkg.sha512",
"System.Threading.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.Threading.dll",
"lib/netstandard1.3/System.Threading.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Threading.dll",
"ref/netcore50/System.Threading.xml",
"ref/netcore50/de/System.Threading.xml",
"ref/netcore50/es/System.Threading.xml",
"ref/netcore50/fr/System.Threading.xml",
"ref/netcore50/it/System.Threading.xml",
"ref/netcore50/ja/System.Threading.xml",
"ref/netcore50/ko/System.Threading.xml",
"ref/netcore50/ru/System.Threading.xml",
"ref/netcore50/zh-hans/System.Threading.xml",
"ref/netcore50/zh-hant/System.Threading.xml",
"ref/netstandard1.0/System.Threading.dll",
"ref/netstandard1.0/System.Threading.xml",
"ref/netstandard1.0/de/System.Threading.xml",
"ref/netstandard1.0/es/System.Threading.xml",
"ref/netstandard1.0/fr/System.Threading.xml",
"ref/netstandard1.0/it/System.Threading.xml",
"ref/netstandard1.0/ja/System.Threading.xml",
"ref/netstandard1.0/ko/System.Threading.xml",
"ref/netstandard1.0/ru/System.Threading.xml",
"ref/netstandard1.0/zh-hans/System.Threading.xml",
"ref/netstandard1.0/zh-hant/System.Threading.xml",
"ref/netstandard1.3/System.Threading.dll",
"ref/netstandard1.3/System.Threading.xml",
"ref/netstandard1.3/de/System.Threading.xml",
"ref/netstandard1.3/es/System.Threading.xml",
"ref/netstandard1.3/fr/System.Threading.xml",
"ref/netstandard1.3/it/System.Threading.xml",
"ref/netstandard1.3/ja/System.Threading.xml",
"ref/netstandard1.3/ko/System.Threading.xml",
"ref/netstandard1.3/ru/System.Threading.xml",
"ref/netstandard1.3/zh-hans/System.Threading.xml",
"ref/netstandard1.3/zh-hant/System.Threading.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/aot/lib/netcore50/System.Threading.dll"
]
},
"System.Threading.Tasks/4.3.0": {
"sha512": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
"type": "package",
"path": "System.Threading.Tasks/4.3.0",
"files": [
"System.Threading.Tasks.4.3.0.nupkg.sha512",
"System.Threading.Tasks.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Threading.Tasks.dll",
"ref/netcore50/System.Threading.Tasks.xml",
"ref/netcore50/de/System.Threading.Tasks.xml",
"ref/netcore50/es/System.Threading.Tasks.xml",
"ref/netcore50/fr/System.Threading.Tasks.xml",
"ref/netcore50/it/System.Threading.Tasks.xml",
"ref/netcore50/ja/System.Threading.Tasks.xml",
"ref/netcore50/ko/System.Threading.Tasks.xml",
"ref/netcore50/ru/System.Threading.Tasks.xml",
"ref/netcore50/zh-hans/System.Threading.Tasks.xml",
"ref/netcore50/zh-hant/System.Threading.Tasks.xml",
"ref/netstandard1.0/System.Threading.Tasks.dll",
"ref/netstandard1.0/System.Threading.Tasks.xml",
"ref/netstandard1.0/de/System.Threading.Tasks.xml",
"ref/netstandard1.0/es/System.Threading.Tasks.xml",
"ref/netstandard1.0/fr/System.Threading.Tasks.xml",
"ref/netstandard1.0/it/System.Threading.Tasks.xml",
"ref/netstandard1.0/ja/System.Threading.Tasks.xml",
"ref/netstandard1.0/ko/System.Threading.Tasks.xml",
"ref/netstandard1.0/ru/System.Threading.Tasks.xml",
"ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml",
"ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml",
"ref/netstandard1.3/System.Threading.Tasks.dll",
"ref/netstandard1.3/System.Threading.Tasks.xml",
"ref/netstandard1.3/de/System.Threading.Tasks.xml",
"ref/netstandard1.3/es/System.Threading.Tasks.xml",
"ref/netstandard1.3/fr/System.Threading.Tasks.xml",
"ref/netstandard1.3/it/System.Threading.Tasks.xml",
"ref/netstandard1.3/ja/System.Threading.Tasks.xml",
"ref/netstandard1.3/ko/System.Threading.Tasks.xml",
"ref/netstandard1.3/ru/System.Threading.Tasks.xml",
"ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml",
"ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Threading.Timer/4.3.0": {
"sha512": "Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==",
"type": "package",
"path": "System.Threading.Timer/4.3.0",
"files": [
"System.Threading.Timer.4.3.0.nupkg.sha512",
"System.Threading.Timer.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net451/_._",
"lib/portable-net451+win81+wpa81/_._",
"lib/win81/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net451/_._",
"ref/netcore50/System.Threading.Timer.dll",
"ref/netcore50/System.Threading.Timer.xml",
"ref/netcore50/de/System.Threading.Timer.xml",
"ref/netcore50/es/System.Threading.Timer.xml",
"ref/netcore50/fr/System.Threading.Timer.xml",
"ref/netcore50/it/System.Threading.Timer.xml",
"ref/netcore50/ja/System.Threading.Timer.xml",
"ref/netcore50/ko/System.Threading.Timer.xml",
"ref/netcore50/ru/System.Threading.Timer.xml",
"ref/netcore50/zh-hans/System.Threading.Timer.xml",
"ref/netcore50/zh-hant/System.Threading.Timer.xml",
"ref/netstandard1.2/System.Threading.Timer.dll",
"ref/netstandard1.2/System.Threading.Timer.xml",
"ref/netstandard1.2/de/System.Threading.Timer.xml",
"ref/netstandard1.2/es/System.Threading.Timer.xml",
"ref/netstandard1.2/fr/System.Threading.Timer.xml",
"ref/netstandard1.2/it/System.Threading.Timer.xml",
"ref/netstandard1.2/ja/System.Threading.Timer.xml",
"ref/netstandard1.2/ko/System.Threading.Timer.xml",
"ref/netstandard1.2/ru/System.Threading.Timer.xml",
"ref/netstandard1.2/zh-hans/System.Threading.Timer.xml",
"ref/netstandard1.2/zh-hant/System.Threading.Timer.xml",
"ref/portable-net451+win81+wpa81/_._",
"ref/win81/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Xml.ReaderWriter/4.3.0": {
"sha512": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
"type": "package",
"path": "System.Xml.ReaderWriter/4.3.0",
"files": [
"System.Xml.ReaderWriter.4.3.0.nupkg.sha512",
"System.Xml.ReaderWriter.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/net46/System.Xml.ReaderWriter.dll",
"lib/netcore50/System.Xml.ReaderWriter.dll",
"lib/netstandard1.3/System.Xml.ReaderWriter.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/net46/System.Xml.ReaderWriter.dll",
"ref/netcore50/System.Xml.ReaderWriter.dll",
"ref/netcore50/System.Xml.ReaderWriter.xml",
"ref/netcore50/de/System.Xml.ReaderWriter.xml",
"ref/netcore50/es/System.Xml.ReaderWriter.xml",
"ref/netcore50/fr/System.Xml.ReaderWriter.xml",
"ref/netcore50/it/System.Xml.ReaderWriter.xml",
"ref/netcore50/ja/System.Xml.ReaderWriter.xml",
"ref/netcore50/ko/System.Xml.ReaderWriter.xml",
"ref/netcore50/ru/System.Xml.ReaderWriter.xml",
"ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml",
"ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/System.Xml.ReaderWriter.dll",
"ref/netstandard1.0/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/de/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/es/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/it/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml",
"ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/System.Xml.ReaderWriter.dll",
"ref/netstandard1.3/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/de/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/es/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/it/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml",
"ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"System.Xml.XDocument/4.3.0": {
"sha512": "5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==",
"type": "package",
"path": "System.Xml.XDocument/4.3.0",
"files": [
"System.Xml.XDocument.4.3.0.nupkg.sha512",
"System.Xml.XDocument.nuspec",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/System.Xml.XDocument.dll",
"lib/netstandard1.3/System.Xml.XDocument.dll",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/System.Xml.XDocument.dll",
"ref/netcore50/System.Xml.XDocument.xml",
"ref/netcore50/de/System.Xml.XDocument.xml",
"ref/netcore50/es/System.Xml.XDocument.xml",
"ref/netcore50/fr/System.Xml.XDocument.xml",
"ref/netcore50/it/System.Xml.XDocument.xml",
"ref/netcore50/ja/System.Xml.XDocument.xml",
"ref/netcore50/ko/System.Xml.XDocument.xml",
"ref/netcore50/ru/System.Xml.XDocument.xml",
"ref/netcore50/zh-hans/System.Xml.XDocument.xml",
"ref/netcore50/zh-hant/System.Xml.XDocument.xml",
"ref/netstandard1.0/System.Xml.XDocument.dll",
"ref/netstandard1.0/System.Xml.XDocument.xml",
"ref/netstandard1.0/de/System.Xml.XDocument.xml",
"ref/netstandard1.0/es/System.Xml.XDocument.xml",
"ref/netstandard1.0/fr/System.Xml.XDocument.xml",
"ref/netstandard1.0/it/System.Xml.XDocument.xml",
"ref/netstandard1.0/ja/System.Xml.XDocument.xml",
"ref/netstandard1.0/ko/System.Xml.XDocument.xml",
"ref/netstandard1.0/ru/System.Xml.XDocument.xml",
"ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml",
"ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml",
"ref/netstandard1.3/System.Xml.XDocument.dll",
"ref/netstandard1.3/System.Xml.XDocument.xml",
"ref/netstandard1.3/de/System.Xml.XDocument.xml",
"ref/netstandard1.3/es/System.Xml.XDocument.xml",
"ref/netstandard1.3/fr/System.Xml.XDocument.xml",
"ref/netstandard1.3/it/System.Xml.XDocument.xml",
"ref/netstandard1.3/ja/System.Xml.XDocument.xml",
"ref/netstandard1.3/ko/System.Xml.XDocument.xml",
"ref/netstandard1.3/ru/System.Xml.XDocument.xml",
"ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml",
"ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._"
]
},
"AspNet.Mvc.TypedRouting/1.3.0": {
"type": "project",
"path": "../../src/AspNet.Mvc.TypedRouting/project.json",
"msbuildProject": "../../src/AspNet.Mvc.TypedRouting/AspNet.Mvc.TypedRouting.xproj"
}
},
"projectFileDependencyGroups": {
"": [
"AspNet.Mvc.TypedRouting >= 1.3.0-*",
"Microsoft.AspNetCore.Mvc >= 1.1.0",
"Moq >= 4.6.36-alpha"
],
".NETFramework,Version=v4.5.1": []
},
"tools": {},
"projectFileToolGroups": {}
}
================================================
FILE: samples/TypedRoutingWebSite/.bowerrc
================================================
{
"directory": "wwwroot/lib"
}
================================================
FILE: samples/TypedRoutingWebSite/Areas/Admin/Views/Area/Index.cshtml
================================================
@using TypedRoutingWebSite.Controllers
@(Url.Action(c => c.AddPhoneNumber()))
================================================
FILE: samples/TypedRoutingWebSite/Areas/Admin/Views/Area/ToOther.cshtml
================================================
@using TypedRoutingWebSite.Controllers
@(Url.Action(c => c.Index()))
================================================
FILE: samples/TypedRoutingWebSite/Controllers/AccountController.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.Extensions.Logging;
using TypedRoutingWebSite.Models;
using TypedRoutingWebSite.Models.AccountViewModels;
using TypedRoutingWebSite.Services;
namespace TypedRoutingWebSite.Controllers
{
[Authorize]
public class AccountController : Controller
{
private readonly UserManager _userManager;
private readonly SignInManager _signInManager;
private readonly IEmailSender _emailSender;
private readonly ISmsSender _smsSender;
private readonly ILogger _logger;
public AccountController(
UserManager userManager,
SignInManager signInManager,
IEmailSender emailSender,
ISmsSender smsSender,
ILoggerFactory loggerFactory)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_smsSender = smsSender;
_logger = loggerFactory.CreateLogger();
}
//
// GET: /Account/Login
[HttpGet]
[AllowAnonymous]
public IActionResult Login(string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
return View();
}
//
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task Login(LoginViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, set lockoutOnFailure: true
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
_logger.LogInformation(1, "User logged in.");
return RedirectToLocal(returnUrl);
}
if (result.RequiresTwoFactor)
{
return RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
}
if (result.IsLockedOut)
{
_logger.LogWarning(2, "User account locked out.");
return View("Lockout");
}
else
{
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
return View(model);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
//
// GET: /Account/Register
[HttpGet]
[AllowAnonymous]
public IActionResult Register(string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
return View();
}
//
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task Register(RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713
// Send an email with this link
//var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
//var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme);
//await _emailSender.SendEmailAsync(model.Email, "Confirm your account",
// $"Please confirm your account by clicking this link: link");
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(3, "User created a new account with password.");
return RedirectToLocal(returnUrl);
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
//
// POST: /Account/LogOff
[HttpPost]
[ValidateAntiForgeryToken]
public async Task LogOff()
{
await _signInManager.SignOutAsync();
_logger.LogInformation(4, "User logged out.");
return RedirectToAction(nameof(HomeController.Index), "Home");
}
//
// POST: /Account/ExternalLogin
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public IActionResult ExternalLogin(string provider, string returnUrl = null)
{
// Request a redirect to the external login provider.
var redirectUrl = Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl });
var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl);
return Challenge(properties, provider);
}
//
// GET: /Account/ExternalLoginCallback
[HttpGet]
[AllowAnonymous]
public async Task ExternalLoginCallback(string returnUrl = null, string remoteError = null)
{
if (remoteError != null)
{
ModelState.AddModelError(string.Empty, $"Error from external provider: {remoteError}");
return View(nameof(Login));
}
var info = await _signInManager.GetExternalLoginInfoAsync();
if (info == null)
{
return RedirectToAction(nameof(Login));
}
// Sign in the user with this external login provider if the user already has a login.
var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false);
if (result.Succeeded)
{
_logger.LogInformation(5, "User logged in with {Name} provider.", info.LoginProvider);
return RedirectToLocal(returnUrl);
}
if (result.RequiresTwoFactor)
{
return RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl });
}
if (result.IsLockedOut)
{
return View("Lockout");
}
else
{
// If the user does not have an account, then ask the user to create an account.
ViewData["ReturnUrl"] = returnUrl;
ViewData["LoginProvider"] = info.LoginProvider;
var email = info.Principal.FindFirstValue(ClaimTypes.Email);
return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = email });
}
}
//
// POST: /Account/ExternalLoginConfirmation
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl = null)
{
if (ModelState.IsValid)
{
// Get the information about the user from the external login provider
var info = await _signInManager.GetExternalLoginInfoAsync();
if (info == null)
{
return View("ExternalLoginFailure");
}
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user);
if (result.Succeeded)
{
result = await _userManager.AddLoginAsync(user, info);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(6, "User created an account using {Name} provider.", info.LoginProvider);
return RedirectToLocal(returnUrl);
}
}
AddErrors(result);
}
ViewData["ReturnUrl"] = returnUrl;
return View(model);
}
// GET: /Account/ConfirmEmail
[HttpGet]
[AllowAnonymous]
public async Task ConfirmEmail(string userId, string code)
{
if (userId == null || code == null)
{
return View("Error");
}
var user = await _userManager.FindByIdAsync(userId);
if (user == null)
{
return View("Error");
}
var result = await _userManager.ConfirmEmailAsync(user, code);
return View(result.Succeeded ? "ConfirmEmail" : "Error");
}
//
// GET: /Account/ForgotPassword
[HttpGet]
[AllowAnonymous]
public IActionResult ForgotPassword()
{
return View();
}
//
// POST: /Account/ForgotPassword
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task ForgotPassword(ForgotPasswordViewModel model)
{
if (ModelState.IsValid)
{
var user = await _userManager.FindByNameAsync(model.Email);
if (user == null || !(await _userManager.IsEmailConfirmedAsync(user)))
{
// Don't reveal that the user does not exist or is not confirmed
return View("ForgotPasswordConfirmation");
}
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=532713
// Send an email with this link
//var code = await _userManager.GeneratePasswordResetTokenAsync(user);
//var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: HttpContext.Request.Scheme);
//await _emailSender.SendEmailAsync(model.Email, "Reset Password",
// $"Please reset your password by clicking here: link");
//return View("ForgotPasswordConfirmation");
}
// If we got this far, something failed, redisplay form
return View(model);
}
//
// GET: /Account/ForgotPasswordConfirmation
[HttpGet]
[AllowAnonymous]
public IActionResult ForgotPasswordConfirmation()
{
return View();
}
//
// GET: /Account/ResetPassword
[HttpGet]
[AllowAnonymous]
public IActionResult ResetPassword(string code = null)
{
return code == null ? View("Error") : View();
}
//
// POST: /Account/ResetPassword
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task ResetPassword(ResetPasswordViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await _userManager.FindByNameAsync(model.Email);
if (user == null)
{
// Don't reveal that the user does not exist
return RedirectToAction(nameof(AccountController.ResetPasswordConfirmation), "Account");
}
var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);
if (result.Succeeded)
{
return RedirectToAction(nameof(AccountController.ResetPasswordConfirmation), "Account");
}
AddErrors(result);
return View();
}
//
// GET: /Account/ResetPasswordConfirmation
[HttpGet]
[AllowAnonymous]
public IActionResult ResetPasswordConfirmation()
{
return View();
}
//
// GET: /Account/SendCode
[HttpGet]
[AllowAnonymous]
public async Task SendCode(string returnUrl = null, bool rememberMe = false)
{
var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();
if (user == null)
{
return View("Error");
}
var userFactors = await _userManager.GetValidTwoFactorProvidersAsync(user);
var factorOptions = userFactors.Select(purpose => new SelectListItem { Text = purpose, Value = purpose }).ToList();
return View(new SendCodeViewModel { Providers = factorOptions, ReturnUrl = returnUrl, RememberMe = rememberMe });
}
//
// POST: /Account/SendCode
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task SendCode(SendCodeViewModel model)
{
if (!ModelState.IsValid)
{
return View();
}
var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();
if (user == null)
{
return View("Error");
}
// Generate the token and send it
var code = await _userManager.GenerateTwoFactorTokenAsync(user, model.SelectedProvider);
if (string.IsNullOrWhiteSpace(code))
{
return View("Error");
}
var message = "Your security code is: " + code;
if (model.SelectedProvider == "Email")
{
await _emailSender.SendEmailAsync(await _userManager.GetEmailAsync(user), "Security Code", message);
}
else if (model.SelectedProvider == "Phone")
{
await _smsSender.SendSmsAsync(await _userManager.GetPhoneNumberAsync(user), message);
}
return RedirectToAction(nameof(VerifyCode), new { Provider = model.SelectedProvider, ReturnUrl = model.ReturnUrl, RememberMe = model.RememberMe });
}
//
// GET: /Account/VerifyCode
[HttpGet]
[AllowAnonymous]
public async Task VerifyCode(string provider, bool rememberMe, string returnUrl = null)
{
// Require that the user has already logged in via username/password or external login
var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();
if (user == null)
{
return View("Error");
}
return View(new VerifyCodeViewModel { Provider = provider, ReturnUrl = returnUrl, RememberMe = rememberMe });
}
//
// POST: /Account/VerifyCode
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task VerifyCode(VerifyCodeViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
// The following code protects for brute force attacks against the two factor codes.
// If a user enters incorrect codes for a specified amount of time then the user account
// will be locked out for a specified amount of time.
var result = await _signInManager.TwoFactorSignInAsync(model.Provider, model.Code, model.RememberMe, model.RememberBrowser);
if (result.Succeeded)
{
return RedirectToLocal(model.ReturnUrl);
}
if (result.IsLockedOut)
{
_logger.LogWarning(7, "User account locked out.");
return View("Lockout");
}
else
{
ModelState.AddModelError(string.Empty, "Invalid code.");
return View(model);
}
}
#region Helpers
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
}
private Task GetCurrentUserAsync()
{
return _userManager.GetUserAsync(HttpContext.User);
}
private IActionResult RedirectToLocal(string returnUrl)
{
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction(nameof(HomeController.Index), "Home");
}
}
#endregion
}
}
================================================
FILE: samples/TypedRoutingWebSite/Controllers/AreaController.cs
================================================
namespace TypedRoutingWebSite.Controllers
{
using Microsoft.AspNetCore.Mvc;
[Area("Admin")]
public class AreaController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult ToOther()
{
return PartialView();
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Controllers/ExpressionsController.cs
================================================
namespace TypedRoutingWebSite.Controllers
{
using Microsoft.AspNetCore.Mvc;
public class ExpressionsController : Controller
{
public IActionResult Index()
{
return this.RedirectToAction(c => c.Redirect());
}
public IActionResult Redirect()
{
return this.RedirectToAction(c => c.Contact());
}
public IActionResult WithRouteValues(int id)
{
return this.RedirectToAction(c => c.Index(With.No()), new { id });
}
public IActionResult CustomUrl(int id)
{
return this.Content(this.Url.Action(c => c.WithRouteValues(With.No()), new { id }));
}
public IActionResult Created()
{
return this.CreatedAtAction(c => c.Index(), 5);
}
[HttpGet("SubmitForm")]
public void Submit()
{
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Controllers/HomeController.cs
================================================
namespace TypedRoutingWebSite.Controllers
{
using Microsoft.AspNetCore.Mvc;
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult Index(int id)
{
return View();
}
public IActionResult About()
{
ViewData["Message"] = "Your application description page.";
return View();
}
public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";
return View();
}
public IActionResult Error()
{
return View();
}
public IActionResult NamedRedirect()
{
return Content(Url.Link("CustomName", new { returnUrl = "Test" }));
}
public IActionResult LinkGeneration()
{
return Content(Url.Action(c => c.Contact()));
}
public IActionResult ToArea()
{
return PartialView();
}
public IActionResult Razor()
{
return PartialView();
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Controllers/ManageController.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using TypedRoutingWebSite.Models;
using TypedRoutingWebSite.Models.ManageViewModels;
using TypedRoutingWebSite.Services;
namespace TypedRoutingWebSite.Controllers
{
[Authorize]
public class ManageController : Controller
{
private readonly UserManager _userManager;
private readonly SignInManager _signInManager;
private readonly IEmailSender _emailSender;
private readonly ISmsSender _smsSender;
private readonly ILogger _logger;
public ManageController(
UserManager userManager,
SignInManager signInManager,
IEmailSender emailSender,
ISmsSender smsSender,
ILoggerFactory loggerFactory)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_smsSender = smsSender;
_logger = loggerFactory.CreateLogger();
}
//
// GET: /Manage/Index
[HttpGet]
public async Task Index(ManageMessageId? message = null)
{
ViewData["StatusMessage"] =
message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed."
: message == ManageMessageId.SetPasswordSuccess ? "Your password has been set."
: message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set."
: message == ManageMessageId.Error ? "An error has occurred."
: message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added."
: message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed."
: "";
var user = await GetCurrentUserAsync();
var model = new IndexViewModel
{
HasPassword = await _userManager.HasPasswordAsync(user),
PhoneNumber = await _userManager.GetPhoneNumberAsync(user),
TwoFactor = await _userManager.GetTwoFactorEnabledAsync(user),
Logins = await _userManager.GetLoginsAsync(user),
BrowserRemembered = await _signInManager.IsTwoFactorClientRememberedAsync(user)
};
return View(model);
}
//
// POST: /Manage/RemoveLogin
[HttpPost]
[ValidateAntiForgeryToken]
public async Task RemoveLogin(RemoveLoginViewModel account)
{
ManageMessageId? message = ManageMessageId.Error;
var user = await GetCurrentUserAsync();
if (user != null)
{
var result = await _userManager.RemoveLoginAsync(user, account.LoginProvider, account.ProviderKey);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
message = ManageMessageId.RemoveLoginSuccess;
}
}
return RedirectToAction(nameof(ManageLogins), new { Message = message });
}
//
// GET: /Manage/AddPhoneNumber
public IActionResult AddPhoneNumber()
{
return View();
}
//
// POST: /Manage/AddPhoneNumber
[HttpPost]
[ValidateAntiForgeryToken]
public async Task AddPhoneNumber(AddPhoneNumberViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
// Generate the token and send it
var user = await GetCurrentUserAsync();
var code = await _userManager.GenerateChangePhoneNumberTokenAsync(user, model.PhoneNumber);
await _smsSender.SendSmsAsync(model.PhoneNumber, "Your security code is: " + code);
return RedirectToAction(nameof(VerifyPhoneNumber), new { PhoneNumber = model.PhoneNumber });
}
//
// POST: /Manage/EnableTwoFactorAuthentication
[HttpPost]
[ValidateAntiForgeryToken]
public async Task EnableTwoFactorAuthentication()
{
var user = await GetCurrentUserAsync();
if (user != null)
{
await _userManager.SetTwoFactorEnabledAsync(user, true);
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(1, "User enabled two-factor authentication.");
}
return RedirectToAction(nameof(Index), "Manage");
}
//
// POST: /Manage/DisableTwoFactorAuthentication
[HttpPost]
[ValidateAntiForgeryToken]
public async Task DisableTwoFactorAuthentication()
{
var user = await GetCurrentUserAsync();
if (user != null)
{
await _userManager.SetTwoFactorEnabledAsync(user, false);
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(2, "User disabled two-factor authentication.");
}
return RedirectToAction(nameof(Index), "Manage");
}
//
// GET: /Manage/VerifyPhoneNumber
[HttpGet]
public async Task VerifyPhoneNumber(string phoneNumber)
{
var code = await _userManager.GenerateChangePhoneNumberTokenAsync(await GetCurrentUserAsync(), phoneNumber);
// Send an SMS to verify the phone number
return phoneNumber == null ? View("Error") : View(new VerifyPhoneNumberViewModel { PhoneNumber = phoneNumber });
}
//
// POST: /Manage/VerifyPhoneNumber
[HttpPost]
[ValidateAntiForgeryToken]
public async Task VerifyPhoneNumber(VerifyPhoneNumberViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await GetCurrentUserAsync();
if (user != null)
{
var result = await _userManager.ChangePhoneNumberAsync(user, model.PhoneNumber, model.Code);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.AddPhoneSuccess });
}
}
// If we got this far, something failed, redisplay the form
ModelState.AddModelError(string.Empty, "Failed to verify phone number");
return View(model);
}
//
// POST: /Manage/RemovePhoneNumber
[HttpPost]
[ValidateAntiForgeryToken]
public async Task RemovePhoneNumber()
{
var user = await GetCurrentUserAsync();
if (user != null)
{
var result = await _userManager.SetPhoneNumberAsync(user, null);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.RemovePhoneSuccess });
}
}
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.Error });
}
//
// GET: /Manage/ChangePassword
[HttpGet]
public IActionResult ChangePassword()
{
return View();
}
//
// POST: /Manage/ChangePassword
[HttpPost]
[ValidateAntiForgeryToken]
public async Task ChangePassword(ChangePasswordViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await GetCurrentUserAsync();
if (user != null)
{
var result = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
_logger.LogInformation(3, "User changed their password successfully.");
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.ChangePasswordSuccess });
}
AddErrors(result);
return View(model);
}
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.Error });
}
//
// GET: /Manage/SetPassword
[HttpGet]
public IActionResult SetPassword()
{
return View();
}
//
// POST: /Manage/SetPassword
[HttpPost]
[ValidateAntiForgeryToken]
public async Task SetPassword(SetPasswordViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await GetCurrentUserAsync();
if (user != null)
{
var result = await _userManager.AddPasswordAsync(user, model.NewPassword);
if (result.Succeeded)
{
await _signInManager.SignInAsync(user, isPersistent: false);
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.SetPasswordSuccess });
}
AddErrors(result);
return View(model);
}
return RedirectToAction(nameof(Index), new { Message = ManageMessageId.Error });
}
//GET: /Manage/ManageLogins
[HttpGet]
public async Task ManageLogins(ManageMessageId? message = null)
{
ViewData["StatusMessage"] =
message == ManageMessageId.RemoveLoginSuccess ? "The external login was removed."
: message == ManageMessageId.AddLoginSuccess ? "The external login was added."
: message == ManageMessageId.Error ? "An error has occurred."
: "";
var user = await GetCurrentUserAsync();
if (user == null)
{
return View("Error");
}
var userLogins = await _userManager.GetLoginsAsync(user);
var otherLogins = _signInManager.GetExternalAuthenticationSchemes().Where(auth => userLogins.All(ul => auth.AuthenticationScheme != ul.LoginProvider)).ToList();
ViewData["ShowRemoveButton"] = user.PasswordHash != null || userLogins.Count > 1;
return View(new ManageLoginsViewModel
{
CurrentLogins = userLogins,
OtherLogins = otherLogins
});
}
//
// POST: /Manage/LinkLogin
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult LinkLogin(string provider)
{
// Request a redirect to the external login provider to link a login for the current user
var redirectUrl = Url.Action("LinkLoginCallback", "Manage");
var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl, _userManager.GetUserId(User));
return Challenge(properties, provider);
}
//
// GET: /Manage/LinkLoginCallback
[HttpGet]
public async Task LinkLoginCallback()
{
var user = await GetCurrentUserAsync();
if (user == null)
{
return View("Error");
}
var info = await _signInManager.GetExternalLoginInfoAsync(await _userManager.GetUserIdAsync(user));
if (info == null)
{
return RedirectToAction(nameof(ManageLogins), new { Message = ManageMessageId.Error });
}
var result = await _userManager.AddLoginAsync(user, info);
var message = result.Succeeded ? ManageMessageId.AddLoginSuccess : ManageMessageId.Error;
return RedirectToAction(nameof(ManageLogins), new { Message = message });
}
#region Helpers
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
}
public enum ManageMessageId
{
AddPhoneSuccess,
AddLoginSuccess,
ChangePasswordSuccess,
SetTwoFactorSuccess,
SetPasswordSuccess,
RemoveLoginSuccess,
RemovePhoneSuccess,
Error
}
private Task GetCurrentUserAsync()
{
return _userManager.GetUserAsync(HttpContext.User);
}
#endregion
}
}
================================================
FILE: samples/TypedRoutingWebSite/Controllers/OtherAreaController.cs
================================================
namespace TypedRoutingWebSite.Controllers
{
using Microsoft.AspNetCore.Mvc;
[Area("Other")]
public class OtherAreaController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Data/ApplicationDbContext.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using TypedRoutingWebSite.Models;
namespace TypedRoutingWebSite.Data
{
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customize the ASP.NET Identity model and override the defaults if needed.
// For example, you can rename the ASP.NET Identity table names and more.
// Add your customizations after calling base.OnModelCreating(builder);
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Data/Migrations/00000000000000_CreateIdentitySchema.Designer.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
namespace TypedRoutingWebSite.Data.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
[Migration("00000000000000_CreateIdentitySchema")]
partial class CreateIdentitySchema
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.0.0-rc2")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole", b =>
{
b.Property("Id");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property("Name")
.HasAnnotation("MaxLength", 256);
b.Property("NormalizedName")
.HasAnnotation("MaxLength", 256);
b.HasKey("Id");
b.HasIndex("NormalizedName")
.HasName("RoleNameIndex");
b.ToTable("AspNetRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRoleClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd();
b.Property("ClaimType");
b.Property("ClaimValue");
b.Property("RoleId")
.IsRequired();
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd();
b.Property("ClaimType");
b.Property("ClaimValue");
b.Property("UserId")
.IsRequired();
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserLogin", b =>
{
b.Property("LoginProvider");
b.Property("ProviderKey");
b.Property("ProviderDisplayName");
b.Property("UserId")
.IsRequired();
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserRole", b =>
{
b.Property("UserId");
b.Property("RoleId");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.HasIndex("UserId");
b.ToTable("AspNetUserRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserToken", b =>
{
b.Property("UserId");
b.Property("LoginProvider");
b.Property("Name");
b.Property("Value");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens");
});
modelBuilder.Entity("TypedRoutingWebSite.Models.ApplicationUser", b =>
{
b.Property("Id");
b.Property("AccessFailedCount");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property("Email")
.HasAnnotation("MaxLength", 256);
b.Property("EmailConfirmed");
b.Property("LockoutEnabled");
b.Property("LockoutEnd");
b.Property("NormalizedEmail")
.HasAnnotation("MaxLength", 256);
b.Property("NormalizedUserName")
.HasAnnotation("MaxLength", 256);
b.Property("PasswordHash");
b.Property("PhoneNumber");
b.Property("PhoneNumberConfirmed");
b.Property("SecurityStamp");
b.Property("TwoFactorEnabled");
b.Property("UserName")
.HasAnnotation("MaxLength", 256);
b.HasKey("Id");
b.HasIndex("NormalizedEmail")
.HasName("EmailIndex");
b.HasIndex("NormalizedUserName")
.HasName("UserNameIndex");
b.ToTable("AspNetUsers");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRoleClaim", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole")
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserClaim", b =>
{
b.HasOne("TypedRoutingWebSite.Models.ApplicationUser")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserLogin", b =>
{
b.HasOne("TypedRoutingWebSite.Models.ApplicationUser")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserRole", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole")
.WithMany()
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("TypedRoutingWebSite.Models.ApplicationUser")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade);
});
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Data/Migrations/00000000000000_CreateIdentitySchema.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
namespace TypedRoutingWebSite.Data.Migrations
{
public partial class CreateIdentitySchema : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AspNetRoles",
columns: table => new
{
Id = table.Column(nullable: false),
ConcurrencyStamp = table.Column(nullable: true),
Name = table.Column(nullable: true),
NormalizedName = table.Column(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetRoles", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AspNetUserTokens",
columns: table => new
{
UserId = table.Column(nullable: false),
LoginProvider = table.Column(nullable: false),
Name = table.Column(nullable: false),
Value = table.Column(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
});
migrationBuilder.CreateTable(
name: "AspNetUsers",
columns: table => new
{
Id = table.Column(nullable: false),
AccessFailedCount = table.Column(nullable: false),
ConcurrencyStamp = table.Column(nullable: true),
Email = table.Column(nullable: true),
EmailConfirmed = table.Column(nullable: false),
LockoutEnabled = table.Column(nullable: false),
LockoutEnd = table.Column(nullable: true),
NormalizedEmail = table.Column(nullable: true),
NormalizedUserName = table.Column(nullable: true),
PasswordHash = table.Column(nullable: true),
PhoneNumber = table.Column(nullable: true),
PhoneNumberConfirmed = table.Column(nullable: false),
SecurityStamp = table.Column(nullable: true),
TwoFactorEnabled = table.Column(nullable: false),
UserName = table.Column(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUsers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AspNetRoleClaims",
columns: table => new
{
Id = table.Column(nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
ClaimType = table.Column(nullable: true),
ClaimValue = table.Column(nullable: true),
RoleId = table.Column(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
table.ForeignKey(
name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
column: x => x.RoleId,
principalTable: "AspNetRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserClaims",
columns: table => new
{
Id = table.Column(nullable: false)
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
ClaimType = table.Column(nullable: true),
ClaimValue = table.Column(nullable: true),
UserId = table.Column(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
table.ForeignKey(
name: "FK_AspNetUserClaims_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserLogins",
columns: table => new
{
LoginProvider = table.Column(nullable: false),
ProviderKey = table.Column(nullable: false),
ProviderDisplayName = table.Column(nullable: true),
UserId = table.Column(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
table.ForeignKey(
name: "FK_AspNetUserLogins_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AspNetUserRoles",
columns: table => new
{
UserId = table.Column(nullable: false),
RoleId = table.Column(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
table.ForeignKey(
name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
column: x => x.RoleId,
principalTable: "AspNetRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AspNetUserRoles_AspNetUsers_UserId",
column: x => x.UserId,
principalTable: "AspNetUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "RoleNameIndex",
table: "AspNetRoles",
column: "NormalizedName");
migrationBuilder.CreateIndex(
name: "IX_AspNetRoleClaims_RoleId",
table: "AspNetRoleClaims",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserClaims_UserId",
table: "AspNetUserClaims",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserLogins_UserId",
table: "AspNetUserLogins",
column: "UserId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserRoles_RoleId",
table: "AspNetUserRoles",
column: "RoleId");
migrationBuilder.CreateIndex(
name: "IX_AspNetUserRoles_UserId",
table: "AspNetUserRoles",
column: "UserId");
migrationBuilder.CreateIndex(
name: "EmailIndex",
table: "AspNetUsers",
column: "NormalizedEmail");
migrationBuilder.CreateIndex(
name: "UserNameIndex",
table: "AspNetUsers",
column: "NormalizedUserName");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AspNetRoleClaims");
migrationBuilder.DropTable(
name: "AspNetUserClaims");
migrationBuilder.DropTable(
name: "AspNetUserLogins");
migrationBuilder.DropTable(
name: "AspNetUserRoles");
migrationBuilder.DropTable(
name: "AspNetUserTokens");
migrationBuilder.DropTable(
name: "AspNetRoles");
migrationBuilder.DropTable(
name: "AspNetUsers");
}
}
}
================================================
FILE: samples/TypedRoutingWebSite/Data/Migrations/ApplicationDbContextModelSnapshot.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
namespace TypedRoutingWebSite.Data.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
modelBuilder
.HasAnnotation("ProductVersion", "1.0.0-rc2")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole", b =>
{
b.Property("Id");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property("Name")
.HasAnnotation("MaxLength", 256);
b.Property("NormalizedName")
.HasAnnotation("MaxLength", 256);
b.HasKey("Id");
b.HasIndex("NormalizedName")
.HasName("RoleNameIndex");
b.ToTable("AspNetRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRoleClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd();
b.Property("ClaimType");
b.Property("ClaimValue");
b.Property("RoleId")
.IsRequired();
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserClaim", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd();
b.Property("ClaimType");
b.Property("ClaimValue");
b.Property("UserId")
.IsRequired();
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserLogin", b =>
{
b.Property("LoginProvider");
b.Property("ProviderKey");
b.Property("ProviderDisplayName");
b.Property("UserId")
.IsRequired();
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserRole", b =>
{
b.Property("UserId");
b.Property("RoleId");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.HasIndex("UserId");
b.ToTable("AspNetUserRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserToken", b =>
{
b.Property("UserId");
b.Property("LoginProvider");
b.Property("Name");
b.Property("Value");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens");
});
modelBuilder.Entity("TypedRoutingWebSite.Models.ApplicationUser", b =>
{
b.Property("Id");
b.Property("AccessFailedCount");
b.Property("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property("Email")
.HasAnnotation("MaxLength", 256);
b.Property("EmailConfirmed");
b.Property("LockoutEnabled");
b.Property("LockoutEnd");
b.Property("NormalizedEmail")
.HasAnnotation("MaxLength", 256);
b.Property("NormalizedUserName")
.HasAnnotation("MaxLength", 256);
b.Property("PasswordHash");
b.Property("PhoneNumber");
b.Property