The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .appveyor.yml
├── .editorconfig
├── .gitattributes
├── .github
    └── ISSUE_TEMPLATE
├── .gitignore
├── .travis.yml
├── .vsts-pipelines
    ├── builds
    │   ├── ci-internal.yml
    │   └── ci-public.yml
    └── templates
    │   ├── phases
    │       └── default-build.yml
    │   └── project-ci.yml
├── CONTRIBUTING.md
├── Directory.Build.props
├── Directory.Build.targets
├── LICENSE.txt
├── Mvc.NoFun.sln
├── Mvc.sln
├── NuGet.config
├── NuGetPackageVerifier.json
├── README.md
├── Settings.StyleCop
├── benchmarkapps
    ├── BasicApi
    │   ├── BasicApi.csproj
    │   ├── Controllers
    │   │   ├── PetController.cs
    │   │   └── TokenController.cs
    │   ├── Migrations
    │   │   ├── 20180609000420_InitialCreate.Designer.cs
    │   │   ├── 20180609000420_InitialCreate.cs
    │   │   └── BasicApiContextModelSnapshot.cs
    │   ├── Models
    │   │   ├── BasicApiContext.cs
    │   │   ├── Category.cs
    │   │   ├── Image.cs
    │   │   ├── Pet.cs
    │   │   └── Tag.cs
    │   ├── Startup.cs
    │   ├── benchmarks.json
    │   ├── getWithToken.lua
    │   ├── postJsonWithToken.lua
    │   └── runtimeconfig.template.json
    ├── BasicViews
    │   ├── BasicViews.csproj
    │   ├── BasicViewsContext.cs
    │   ├── Components
    │   │   └── CurrentUser.cs
    │   ├── Controllers
    │   │   └── HomeController.cs
    │   ├── Migrations
    │   │   ├── 20180609000611_InitialCreate.Designer.cs
    │   │   ├── 20180609000611_InitialCreate.cs
    │   │   └── BasicViewsContextModelSnapshot.cs
    │   ├── Person.cs
    │   ├── Startup.cs
    │   ├── Views
    │   │   ├── Home
    │   │   │   ├── HtmlHelpers.cshtml
    │   │   │   └── Index.cshtml
    │   │   ├── Shared
    │   │   │   └── _Layout.cshtml
    │   │   ├── _ViewImports.cshtml
    │   │   └── _ViewStart.cshtml
    │   ├── benchmarks.json
    │   ├── post.lua
    │   ├── postWithToken.lua
    │   ├── runtimeconfig.template.json
    │   ├── web.config
    │   └── wwwroot
    │   │   ├── css
    │   │       ├── site.css
    │   │       └── site.min.css
    │   │   └── js
    │   │       ├── site.js
    │   │       └── site.min.js
    ├── README.md
    └── RazorRendering
    │   ├── Data
    │       ├── DataA.cs
    │       └── DataB.cs
    │   ├── Pages
    │       ├── Category
    │       │   ├── PageA.cshtml
    │       │   ├── PageA.cshtml.cs
    │       │   └── _Subcategories.cshtml
    │       ├── Page.cs
    │       ├── Shared
    │       │   └── _Layout.cshtml
    │       ├── _ViewImports.cshtml
    │       └── _ViewStart.cshtml
    │   ├── RazorRendering.csproj
    │   ├── Readme.md
    │   └── Startup.cs
├── benchmarks
    ├── Microsoft.AspNetCore.Mvc.Performance.Views
    │   ├── HelperExtensions.cs
    │   ├── Microsoft.AspNetCore.Mvc.Performance.Views.csproj
    │   ├── ViewAssemblyMarker.cs
    │   └── Views
    │   │   ├── HelloWorld.cshtml
    │   │   ├── HelperDynamic.cshtml
    │   │   ├── HelperExtensions.cshtml
    │   │   ├── HelperPartialAsync.cshtml
    │   │   ├── HelperPartialSync.cshtml
    │   │   ├── HelperPartialTagHelper.cshtml
    │   │   ├── HelperPartial_Partial.cshtml
    │   │   └── HelperTyped.cshtml
    └── Microsoft.AspNetCore.Mvc.Performance
    │   ├── ActionSelectorBenchmark.cs
    │   ├── AssemblyInfo.cs
    │   ├── HelperPerformanceBenchmark.cs
    │   ├── Microsoft.AspNetCore.Mvc.Performance.csproj
    │   ├── MvcEndpointDatasourceBenchmark.cs
    │   ├── RuntimePerformanceBenchmarkBase.cs
    │   ├── ValidationVisitorBenchmarkBase.cs
    │   ├── ValidationVisitorByteArrayBenchmark.cs
    │   ├── ValidationVisitorModelWithValidatedProperties.cs
    │   └── readme.md
├── build.cmd
├── build.sh
├── build
    ├── Key.snk
    ├── buildpipeline
    │   ├── linux.groovy
    │   ├── osx.groovy
    │   ├── pipeline.groovy
    │   └── windows.groovy
    ├── dependencies.props
    ├── repo.props
    └── sources.props
├── buildWithProcDump.cmd
├── global.json
├── korebuild-lock.txt
├── korebuild.json
├── run.cmd
├── run.ps1
├── run.sh
├── runWithProcDump.ps1
├── samples
    └── MvcSandbox
    │   ├── .bowerrc
    │   ├── .gitignore
    │   ├── Controllers
    │       ├── HomeController.cs
    │       └── LoginController.cs
    │   ├── HealthChecks
    │       └── HealthChecksEndpointRouteBuilderExtensions.cs
    │   ├── Models
    │       ├── Index.cs
    │       └── TestModel.cs
    │   ├── MvcSandbox.csproj
    │   ├── Pages
    │       ├── PagesHome.cshtml
    │       ├── _ViewImports.cshtml
    │       └── _ViewStart.cshtml
    │   ├── Startup.cs
    │   └── Views
    │       ├── Home
    │           └── Index.cshtml
    │       ├── Shared
    │           └── _Layout.cshtml
    │       ├── _ViewImports.cshtml
    │       └── _ViewStart.cshtml
├── src
    ├── Directory.Build.props
    ├── GetDocumentInsider
    │   ├── AnsiConsole.cs
    │   ├── AnsiConstants.cs
    │   ├── AnsiTextWriter.cs
    │   ├── CommandException.cs
    │   ├── CommandLineUtils
    │   │   ├── CommandArgument.cs
    │   │   ├── CommandLineApplication.cs
    │   │   ├── CommandLineApplicationExtensions.cs
    │   │   ├── CommandOption.cs
    │   │   ├── CommandOptionType.cs
    │   │   └── CommandParsingException.cs
    │   ├── Commands
    │   │   ├── CommandBase.cs
    │   │   ├── GetDocumentCommand.cs
    │   │   ├── GetDocumentCommandContext.cs
    │   │   ├── GetDocumentCommandWorker.cs
    │   │   ├── HelpCommandBase.cs
    │   │   └── ProjectCommandBase.cs
    │   ├── GetDocumentInsider.csproj
    │   ├── ProductInfo.cs
    │   ├── Program.cs
    │   ├── Properties
    │   │   └── Resources.Designer.cs
    │   ├── Reporter.cs
    │   └── Resources.resx
    ├── Microsoft.AspNetCore.Mvc.Abstractions
    │   ├── Abstractions
    │   │   ├── ActionDescriptor.cs
    │   │   ├── ActionDescriptorExtensions.cs
    │   │   ├── ActionDescriptorProviderContext.cs
    │   │   ├── ActionInvokerProviderContext.cs
    │   │   ├── IActionDescriptorProvider.cs
    │   │   ├── IActionInvoker.cs
    │   │   ├── IActionInvokerProvider.cs
    │   │   └── ParameterDescriptor.cs
    │   ├── ActionConstraints
    │   │   ├── ActionConstraintContext.cs
    │   │   ├── ActionConstraintItem.cs
    │   │   ├── ActionConstraintProviderContext.cs
    │   │   ├── ActionSelectorCandidate.cs
    │   │   ├── IActionConstraint.cs
    │   │   ├── IActionConstraintFactory.cs
    │   │   ├── IActionConstraintMetadata.cs
    │   │   └── IActionConstraintProvider.cs
    │   ├── ActionContext.cs
    │   ├── ApiExplorer
    │   │   ├── ApiDescription.cs
    │   │   ├── ApiDescriptionProviderContext.cs
    │   │   ├── ApiParameterDescription.cs
    │   │   ├── ApiParameterRouteInfo.cs
    │   │   ├── ApiRequestFormat.cs
    │   │   ├── ApiResponseFormat.cs
    │   │   ├── ApiResponseType.cs
    │   │   └── IApiDescriptionProvider.cs
    │   ├── Authorization
    │   │   └── IAllowAnonymousFilter.cs
    │   ├── Filters
    │   │   ├── ActionExecutedContext.cs
    │   │   ├── ActionExecutingContext.cs
    │   │   ├── ActionExecutionDelegate.cs
    │   │   ├── AuthorizationFilterContext.cs
    │   │   ├── ExceptionContext.cs
    │   │   ├── FilterContext.cs
    │   │   ├── FilterDescriptor.cs
    │   │   ├── FilterItem.cs
    │   │   ├── FilterProviderContext.cs
    │   │   ├── IActionFilter.cs
    │   │   ├── IAlwaysRunResultFilter.cs
    │   │   ├── IAsyncActionFilter.cs
    │   │   ├── IAsyncAlwaysRunResultFilter.cs
    │   │   ├── IAsyncAuthorizationFilter.cs
    │   │   ├── IAsyncExceptionFilter.cs
    │   │   ├── IAsyncResourceFilter.cs
    │   │   ├── IAsyncResultFilter.cs
    │   │   ├── IAuthorizationFilter.cs
    │   │   ├── IExceptionFilter.cs
    │   │   ├── IFilterContainer.cs
    │   │   ├── IFilterFactory.cs
    │   │   ├── IFilterMetadata.cs
    │   │   ├── IFilterProvider.cs
    │   │   ├── IOrderedFilter.cs
    │   │   ├── IResourceFilter.cs
    │   │   ├── IResultFilter.cs
    │   │   ├── ResourceExecutedContext.cs
    │   │   ├── ResourceExecutingContext.cs
    │   │   ├── ResourceExecutionDelegate.cs
    │   │   ├── ResultExecutedContext.cs
    │   │   ├── ResultExecutingContext.cs
    │   │   └── ResultExecutionDelegate.cs
    │   ├── Formatters
    │   │   ├── FormatterCollection.cs
    │   │   ├── IInputFormatter.cs
    │   │   ├── IInputFormatterExceptionPolicy.cs
    │   │   ├── IOutputFormatter.cs
    │   │   ├── InputFormatterContext.cs
    │   │   ├── InputFormatterException.cs
    │   │   ├── InputFormatterExceptionPolicy.cs
    │   │   ├── InputFormatterResult.cs
    │   │   ├── OutputFormatterCanWriteContext.cs
    │   │   └── OutputFormatterWriteContext.cs
    │   ├── IActionResult.cs
    │   ├── IUrlHelper.cs
    │   ├── Microsoft.AspNetCore.Mvc.Abstractions.csproj
    │   ├── ModelBinding
    │   │   ├── BindingInfo.cs
    │   │   ├── BindingSource.cs
    │   │   ├── CompositeBindingSource.cs
    │   │   ├── EnumGroupAndName.cs
    │   │   ├── IBinderTypeProviderMetadata.cs
    │   │   ├── IBindingSourceMetadata.cs
    │   │   ├── IModelBinder.cs
    │   │   ├── IModelBinderProvider.cs
    │   │   ├── IModelMetadataProvider.cs
    │   │   ├── IModelNameProvider.cs
    │   │   ├── IPropertyFilterProvider.cs
    │   │   ├── IRequestPredicateProvider.cs
    │   │   ├── IValueProvider.cs
    │   │   ├── IValueProviderFactory.cs
    │   │   ├── Metadata
    │   │   │   ├── ModelBindingMessageProvider.cs
    │   │   │   ├── ModelMetadataIdentity.cs
    │   │   │   └── ModelMetadataKind.cs
    │   │   ├── ModelBinderProviderContext.cs
    │   │   ├── ModelBindingContext.cs
    │   │   ├── ModelBindingResult.cs
    │   │   ├── ModelError.cs
    │   │   ├── ModelErrorCollection.cs
    │   │   ├── ModelMetadata.cs
    │   │   ├── ModelMetadataProvider.cs
    │   │   ├── ModelPropertyCollection.cs
    │   │   ├── ModelStateDictionary.cs
    │   │   ├── ModelStateEntry.cs
    │   │   ├── ModelValidationState.cs
    │   │   ├── TooManyModelErrorsException.cs
    │   │   ├── Validation
    │   │   │   ├── ClientModelValidationContext.cs
    │   │   │   ├── ClientValidatorItem.cs
    │   │   │   ├── ClientValidatorProviderContext.cs
    │   │   │   ├── IClientModelValidator.cs
    │   │   │   ├── IClientModelValidatorProvider.cs
    │   │   │   ├── IModelValidator.cs
    │   │   │   ├── IModelValidatorProvider.cs
    │   │   │   ├── IPropertyValidationFilter.cs
    │   │   │   ├── IValidationStrategy.cs
    │   │   │   ├── ModelValidationContext.cs
    │   │   │   ├── ModelValidationContextBase.cs
    │   │   │   ├── ModelValidationResult.cs
    │   │   │   ├── ModelValidatorProviderContext.cs
    │   │   │   ├── ValidationEntry.cs
    │   │   │   ├── ValidationStateDictionary.cs
    │   │   │   ├── ValidationStateEntry.cs
    │   │   │   └── ValidatorItem.cs
    │   │   ├── ValueProviderFactoryContext.cs
    │   │   └── ValueProviderResult.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── Resources.resx
    │   ├── Routing
    │   │   ├── AttributeRouteInfo.cs
    │   │   ├── UrlActionContext.cs
    │   │   └── UrlRouteContext.cs
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Analyzers
    │   ├── AttributesShouldNotBeAppliedToPageModelAnalyzer.cs
    │   ├── AvoidHtmlPartialAnalyzer.cs
    │   ├── CodeAnalysisExtensions.cs
    │   ├── DiagnosticDescriptors.cs
    │   ├── Microsoft.AspNetCore.Mvc.Analyzers.csproj
    │   ├── Microsoft.AspNetCore.Mvc.Analyzers.nuspec
    │   ├── MvcFacts.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── SymbolNames.cs
    │   ├── TopLevelParameterNameAnalyzer.cs
    │   ├── ViewFeatureAnalyzerBase.cs
    │   └── ViewFeaturesAnalyzerContext.cs
    ├── Microsoft.AspNetCore.Mvc.Api.Analyzers
    │   ├── ActualApiResponseMetadata.cs
    │   ├── ActualApiResponseMetadataFactory.cs
    │   ├── AddResponseTypeAttributeCodeFixAction.cs
    │   ├── AddResponseTypeAttributeCodeFixProvider.cs
    │   ├── ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzer.cs
    │   ├── ApiActionsDoNotRequireExplicitModelValidationCodeFixProvider.cs
    │   ├── ApiControllerFacts.cs
    │   ├── ApiControllerSymbolCache.cs
    │   ├── ApiConventionAnalyzer.cs
    │   ├── ApiDiagnosticDescriptors.cs
    │   ├── ApiSymbolNames.cs
    │   ├── DeclaredApiResponseMetadata.cs
    │   ├── Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj
    │   ├── Microsoft.AspNetCore.Mvc.Api.Analyzers.nuspec
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── SymbolApiConventionMatcher.cs
    │   └── SymbolApiResponseMetadataProvider.cs
    ├── Microsoft.AspNetCore.Mvc.ApiExplorer
    │   ├── ApiDescriptionExtensions.cs
    │   ├── ApiDescriptionGroup.cs
    │   ├── ApiDescriptionGroupCollection.cs
    │   ├── ApiDescriptionGroupCollectionProvider.cs
    │   ├── ApiParameterContext.cs
    │   ├── ApiResponseTypeProvider.cs
    │   ├── DefaultApiDescriptionProvider.cs
    │   ├── DependencyInjection
    │   │   └── MvcApiExplorerMvcCoreBuilderExtensions.cs
    │   ├── IApiDescriptionGroupCollectionProvider.cs
    │   ├── Microsoft.AspNetCore.Mvc.ApiExplorer.csproj
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Core
    │   ├── AcceptVerbsAttribute.cs
    │   ├── AcceptedAtActionResult.cs
    │   ├── AcceptedAtRouteResult.cs
    │   ├── AcceptedResult.cs
    │   ├── ActionConstraints
    │   │   ├── ActionConstraintCache.cs
    │   │   ├── ActionMethodSelectorAttribute.cs
    │   │   ├── DefaultActionConstraintProvider.cs
    │   │   ├── HttpMethodActionConstraint.cs
    │   │   └── IConsumesActionConstraint.cs
    │   ├── ActionContextAttribute.cs
    │   ├── ActionNameAttribute.cs
    │   ├── ActionResult.cs
    │   ├── ActionResultOfT.cs
    │   ├── AntiforgeryValidationFailedResult.cs
    │   ├── ApiBehaviorOptions.cs
    │   ├── ApiControllerAttribute.cs
    │   ├── ApiConventionMethodAttribute.cs
    │   ├── ApiConventionTypeAttribute.cs
    │   ├── ApiExplorer
    │   │   ├── ApiConventionMatcher.cs
    │   │   ├── ApiConventionNameMatchAttribute.cs
    │   │   ├── ApiConventionNameMatchBehavior.cs
    │   │   ├── ApiConventionResult.cs
    │   │   ├── ApiConventionTypeMatchAttribute.cs
    │   │   ├── ApiConventionTypeMatchBehavior.cs
    │   │   ├── ApiDescriptionActionData.cs
    │   │   ├── IApiDefaultResponseMetadataProvider.cs
    │   │   ├── IApiDescriptionGroupNameProvider.cs
    │   │   ├── IApiDescriptionVisibilityProvider.cs
    │   │   ├── IApiRequestFormatMetadataProvider.cs
    │   │   ├── IApiRequestMetadataProvider.cs
    │   │   ├── IApiResponseMetadataProvider.cs
    │   │   └── IApiResponseTypeMetadataProvider.cs
    │   ├── ApiExplorerSettingsAttribute.cs
    │   ├── ApplicationModels
    │   │   ├── ActionAttributeRouteModel.cs
    │   │   ├── ActionModel.cs
    │   │   ├── ApiBehaviorApplicationModelProvider.cs
    │   │   ├── ApiConventionApplicationModelConvention.cs
    │   │   ├── ApiExplorerModel.cs
    │   │   ├── ApiVisibilityConvention.cs
    │   │   ├── ApplicationModel.cs
    │   │   ├── ApplicationModelConventions.cs
    │   │   ├── ApplicationModelFactory.cs
    │   │   ├── ApplicationModelProviderContext.cs
    │   │   ├── AttributeRouteModel.cs
    │   │   ├── AuthorizationApplicationModelProvider.cs
    │   │   ├── ClientErrorResultFilterConvention.cs
    │   │   ├── ConsumesConstraintForFormFileParameterConvention.cs
    │   │   ├── ControllerActionDescriptorBuilder.cs
    │   │   ├── ControllerActionDescriptorProvider.cs
    │   │   ├── ControllerModel.cs
    │   │   ├── DefaultApplicationModelProvider.cs
    │   │   ├── IActionModelConvention.cs
    │   │   ├── IApiExplorerModel.cs
    │   │   ├── IApplicationModelConvention.cs
    │   │   ├── IApplicationModelProvider.cs
    │   │   ├── IBindingModel.cs
    │   │   ├── ICommonModel.cs
    │   │   ├── IControllerModelConvention.cs
    │   │   ├── IFilterModel.cs
    │   │   ├── IParameterModelBaseConvention.cs
    │   │   ├── IParameterModelConvention.cs
    │   │   ├── IPropertyModel.cs
    │   │   ├── InferParameterBindingInfoConvention.cs
    │   │   ├── InvalidModelStateFilterConvention.cs
    │   │   ├── ParameterModel.cs
    │   │   ├── ParameterModelBase.cs
    │   │   ├── PropertyModel.cs
    │   │   ├── RouteTokenTransformerConvention.cs
    │   │   └── SelectorModel.cs
    │   ├── ApplicationParts
    │   │   ├── ApplicationAssembliesProvider.cs
    │   │   ├── ApplicationPart.cs
    │   │   ├── ApplicationPartFactory.cs
    │   │   ├── ApplicationPartManager.cs
    │   │   ├── AssemblyPart.cs
    │   │   ├── DefaultApplicationPartFactory.cs
    │   │   ├── IApplicationFeatureProvider.cs
    │   │   ├── IApplicationFeatureProviderOfT.cs
    │   │   ├── IApplicationPartTypeProvider.cs
    │   │   ├── ICompilationReferencesProvider.cs
    │   │   ├── NullApplicationPartFactory.cs
    │   │   ├── ProvideApplicationPartFactoryAttribute.cs
    │   │   └── RelatedAssemblyAttribute.cs
    │   ├── AreaAttribute.cs
    │   ├── Authorization
    │   │   ├── AllowAnonymousFilter.cs
    │   │   └── AuthorizeFilter.cs
    │   ├── BadRequestObjectResult.cs
    │   ├── BadRequestResult.cs
    │   ├── BindAttribute.cs
    │   ├── BindPropertiesAttribute.cs
    │   ├── BindPropertyAttribute.cs
    │   ├── Builder
    │   │   ├── DefaultEndpointConventionBuilder.cs
    │   │   ├── MvcApplicationBuilderExtensions.cs
    │   │   ├── MvcAreaRouteBuilderExtensions.cs
    │   │   ├── MvcEndpointInfo.cs
    │   │   └── MvcEndpointRouteBuilderExtensions.cs
    │   ├── CacheProfile.cs
    │   ├── ChallengeResult.cs
    │   ├── ClientErrorData.cs
    │   ├── CompatibilityVersion.cs
    │   ├── ConflictObjectResult.cs
    │   ├── ConflictResult.cs
    │   ├── ConsumesAttribute.cs
    │   ├── ContentResult.cs
    │   ├── ControllerAttribute.cs
    │   ├── ControllerBase.cs
    │   ├── ControllerContext.cs
    │   ├── ControllerContextAttribute.cs
    │   ├── Controllers
    │   │   ├── ControllerActionDescriptor.cs
    │   │   ├── ControllerActivatorProvider.cs
    │   │   ├── ControllerBinderDelegate.cs
    │   │   ├── ControllerBinderDelegateProvider.cs
    │   │   ├── ControllerBoundPropertyDescriptor.cs
    │   │   ├── ControllerFactoryProvider.cs
    │   │   ├── ControllerFeature.cs
    │   │   ├── ControllerFeatureProvider.cs
    │   │   ├── ControllerParameterDescriptor.cs
    │   │   ├── DefaultControllerActivator.cs
    │   │   ├── DefaultControllerFactory.cs
    │   │   ├── DefaultControllerPropertyActivator.cs
    │   │   ├── IControllerActivator.cs
    │   │   ├── IControllerActivatorProvider.cs
    │   │   ├── IControllerFactory.cs
    │   │   ├── IControllerFactoryProvider.cs
    │   │   ├── IControllerPropertyActivatorFactory.cs
    │   │   └── ServiceBasedControllerActivator.cs
    │   ├── CreatedAtActionResult.cs
    │   ├── CreatedAtRouteResult.cs
    │   ├── CreatedResult.cs
    │   ├── DefaultApiConventions.cs
    │   ├── DependencyInjection
    │   │   ├── ApiBehaviorOptionsSetup.cs
    │   │   ├── ApplicationModelConventionExtensions.cs
    │   │   ├── IMvcBuilder.cs
    │   │   ├── IMvcCoreBuilder.cs
    │   │   ├── MvcBuilder.cs
    │   │   ├── MvcCoreBuilder.cs
    │   │   ├── MvcCoreMvcBuilderExtensions.cs
    │   │   ├── MvcCoreMvcCoreBuilderExtensions.cs
    │   │   ├── MvcCoreRouteOptionsSetup.cs
    │   │   ├── MvcCoreServiceCollectionExtensions.cs
    │   │   └── MvcMarkerService.cs
    │   ├── DisableRequestSizeLimitAttribute.cs
    │   ├── EmptyResult.cs
    │   ├── FileContentResult.cs
    │   ├── FileResult.cs
    │   ├── FileStreamResult.cs
    │   ├── Filters
    │   │   ├── ActionFilterAttribute.cs
    │   │   ├── ControllerActionFilter.cs
    │   │   ├── ControllerResultFilter.cs
    │   │   ├── DefaultFilterProvider.cs
    │   │   ├── DisableRequestSizeLimitFilter.cs
    │   │   ├── ExceptionFilterAttribute.cs
    │   │   ├── FilterCollection.cs
    │   │   ├── FilterCursor.cs
    │   │   ├── FilterCursorItem.cs
    │   │   ├── FilterDescriptorOrderComparer.cs
    │   │   ├── FilterFactory.cs
    │   │   ├── FilterFactoryResult.cs
    │   │   ├── FilterScope.cs
    │   │   ├── IMiddlewareFilterFeature.cs
    │   │   ├── IResponseCacheFilter.cs
    │   │   ├── MiddlewareFilter.cs
    │   │   ├── MiddlewareFilterAttribute.cs
    │   │   ├── MiddlewareFilterBuilder.cs
    │   │   ├── MiddlewareFilterBuilderStartupFilter.cs
    │   │   ├── MiddlewareFilterConfigurationProvider.cs
    │   │   ├── MiddlewareFilterFeature.cs
    │   │   ├── RequestFormLimitsFilter.cs
    │   │   ├── RequestSizeLimitFilter.cs
    │   │   ├── ResponseCacheFilter.cs
    │   │   ├── ResponseCacheFilterExecutor.cs
    │   │   └── ResultFilterAttribute.cs
    │   ├── ForbidResult.cs
    │   ├── FormatFilterAttribute.cs
    │   ├── Formatters
    │   │   ├── AcceptHeaderParser.cs
    │   │   ├── FormatFilter.cs
    │   │   ├── FormatterMappings.cs
    │   │   ├── HttpNoContentOutputFormatter.cs
    │   │   ├── HttpParseResult.cs
    │   │   ├── HttpTokenParsingRules.cs
    │   │   ├── IFormatFilter.cs
    │   │   ├── InputFormatter.cs
    │   │   ├── MediaType.cs
    │   │   ├── MediaTypeCollection.cs
    │   │   ├── MediaTypeSegmentWithQuality.cs
    │   │   ├── OutputFormatter.cs
    │   │   ├── ResponseContentTypeHelper.cs
    │   │   ├── StreamOutputFormatter.cs
    │   │   ├── StringOutputFormatter.cs
    │   │   ├── TextInputFormatter.cs
    │   │   └── TextOutputFormatter.cs
    │   ├── FromBodyAttribute.cs
    │   ├── FromFormAttribute.cs
    │   ├── FromHeaderAttribute.cs
    │   ├── FromQueryAttribute.cs
    │   ├── FromRouteAttribute.cs
    │   ├── FromServicesAttribute.cs
    │   ├── HttpDeleteAttribute.cs
    │   ├── HttpGetAttribute.cs
    │   ├── HttpHeadAttribute.cs
    │   ├── HttpOptionsAttribute.cs
    │   ├── HttpPatchAttribute.cs
    │   ├── HttpPostAttribute.cs
    │   ├── HttpPutAttribute.cs
    │   ├── IApiBehaviorMetadata.cs
    │   ├── IDesignTimeMvcBuilderConfiguration.cs
    │   ├── IRequestFormLimitsPolicy.cs
    │   ├── IRequestSizePolicy.cs
    │   ├── Infrastructure
    │   │   ├── ActionContextAccessor.cs
    │   │   ├── ActionDescriptorCollection.cs
    │   │   ├── ActionDescriptorCollectionProvider.cs
    │   │   ├── ActionInvokerFactory.cs
    │   │   ├── ActionMethodExecutor.cs
    │   │   ├── ActionResultObjectValueAttribute.cs
    │   │   ├── ActionResultStatusCodeAttribute.cs
    │   │   ├── ActionResultTypeMapper.cs
    │   │   ├── ActionSelector.cs
    │   │   ├── AmbiguousActionException.cs
    │   │   ├── ClientErrorResultFilter.cs
    │   │   ├── ClientErrorResultFilterFactory.cs
    │   │   ├── CompatibilitySwitch.cs
    │   │   ├── ConfigureCompatibilityOptions.cs
    │   │   ├── ContentResultExecutor.cs
    │   │   ├── ControllerActionInvoker.cs
    │   │   ├── ControllerActionInvokerCache.cs
    │   │   ├── ControllerActionInvokerCacheEntry.cs
    │   │   ├── ControllerActionInvokerProvider.cs
    │   │   ├── CopyOnWriteList.cs
    │   │   ├── DefaultActionDescriptorCollectionProvider.cs
    │   │   ├── DefaultOutputFormatterSelector.cs
    │   │   ├── DefaultStatusCodeAttribute.cs
    │   │   ├── FileContentResultExecutor.cs
    │   │   ├── FileResultExecutorBase.cs
    │   │   ├── FileStreamResultExecutor.cs
    │   │   ├── IActionContextAccessor.cs
    │   │   ├── IActionDescriptorChangeProvider.cs
    │   │   ├── IActionDescriptorCollectionProvider.cs
    │   │   ├── IActionInvokerFactory.cs
    │   │   ├── IActionResultExecutor.cs
    │   │   ├── IActionResultTypeMapper.cs
    │   │   ├── IActionSelector.cs
    │   │   ├── IAntiforgeryValidationFailedResult.cs
    │   │   ├── IClientErrorActionResult.cs
    │   │   ├── IClientErrorFactory.cs
    │   │   ├── ICompatibilitySwitch.cs
    │   │   ├── IConvertToActionResult.cs
    │   │   ├── IHttpRequestStreamReaderFactory.cs
    │   │   ├── IHttpResponseStreamWriterFactory.cs
    │   │   ├── IParameterInfoParameterDescriptor.cs
    │   │   ├── IPropertyInfoParameterDescriptor.cs
    │   │   ├── IStatusCodeActionResult.cs
    │   │   ├── ITypeActivatorCache.cs
    │   │   ├── LocalRedirectResultExecutor.cs
    │   │   ├── MemoryPoolHttpRequestStreamReaderFactory.cs
    │   │   ├── MemoryPoolHttpResponseStreamWriterFactory.cs
    │   │   ├── ModelStateInvalidFilter.cs
    │   │   ├── ModelStateInvalidFilterFactory.cs
    │   │   ├── MvcCompatibilityOptions.cs
    │   │   ├── MvcCoreMvcOptionsSetup.cs
    │   │   ├── MvcOptionsConfigureCompatibilityOptions.cs
    │   │   ├── NonDisposableStream.cs
    │   │   ├── NullableCompatibilitySwitch.cs
    │   │   ├── ObjectResultExecutor.cs
    │   │   ├── OutputFormatterSelector.cs
    │   │   ├── ParameterDefaultValues.cs
    │   │   ├── PhysicalFileResultExecutor.cs
    │   │   ├── ProblemDetailsClientErrorFactory.cs
    │   │   ├── RedirectResultExecutor.cs
    │   │   ├── RedirectToActionResultExecutor.cs
    │   │   ├── RedirectToPageResultExecutor.cs
    │   │   ├── RedirectToRouteResultExecutor.cs
    │   │   ├── ResourceInvoker.cs
    │   │   ├── TypeActivatorCache.cs
    │   │   └── VirtualFileResultExecutor.cs
    │   ├── LocalRedirectResult.cs
    │   ├── Microsoft.AspNetCore.Mvc.Core.csproj
    │   ├── ModelBinderAttribute.cs
    │   ├── ModelBinding
    │   │   ├── BindNeverAttribute.cs
    │   │   ├── BindRequiredAttribute.cs
    │   │   ├── Binders
    │   │   │   ├── ArrayModelBinder.cs
    │   │   │   ├── ArrayModelBinderProvider.cs
    │   │   │   ├── BinderTypeModelBinder.cs
    │   │   │   ├── BinderTypeModelBinderProvider.cs
    │   │   │   ├── BodyModelBinder.cs
    │   │   │   ├── BodyModelBinderProvider.cs
    │   │   │   ├── ByteArrayModelBinder.cs
    │   │   │   ├── ByteArrayModelBinderProvider.cs
    │   │   │   ├── CancellationTokenModelBinder.cs
    │   │   │   ├── CancellationTokenModelBinderProvider.cs
    │   │   │   ├── CollectionModelBinder.cs
    │   │   │   ├── CollectionModelBinderProvider.cs
    │   │   │   ├── ComplexTypeModelBinder.cs
    │   │   │   ├── ComplexTypeModelBinderProvider.cs
    │   │   │   ├── DecimalModelBinder.cs
    │   │   │   ├── DictionaryModelBinder.cs
    │   │   │   ├── DictionaryModelBinderProvider.cs
    │   │   │   ├── DoubleModelBinder.cs
    │   │   │   ├── EnumTypeModelBinder.cs
    │   │   │   ├── EnumTypeModelBinderProvider.cs
    │   │   │   ├── FloatModelBinder.cs
    │   │   │   ├── FloatingPointTypeModelBinderProvider.cs
    │   │   │   ├── FormCollectionModelBinder.cs
    │   │   │   ├── FormCollectionModelBinderProvider.cs
    │   │   │   ├── FormFileModelBinder.cs
    │   │   │   ├── FormFileModelBinderProvider.cs
    │   │   │   ├── HeaderModelBinder.cs
    │   │   │   ├── HeaderModelBinderProvider.cs
    │   │   │   ├── KeyValuePairModelBinder.cs
    │   │   │   ├── KeyValuePairModelBinderProvider.cs
    │   │   │   ├── ServicesModelBinder.cs
    │   │   │   ├── ServicesModelBinderProvider.cs
    │   │   │   ├── SimpleTypeModelBinder.cs
    │   │   │   └── SimpleTypeModelBinderProvider.cs
    │   │   ├── BindingBehavior.cs
    │   │   ├── BindingBehaviorAttribute.cs
    │   │   ├── BindingSourceValueProvider.cs
    │   │   ├── CompositeValueProvider.cs
    │   │   ├── DefaultModelBindingContext.cs
    │   │   ├── DefaultPropertyFilterProvider.cs
    │   │   ├── ElementalValueProvider.cs
    │   │   ├── EmptyModelMetadataProvider.cs
    │   │   ├── FormValueProvider.cs
    │   │   ├── FormValueProviderFactory.cs
    │   │   ├── IBindingSourceValueProvider.cs
    │   │   ├── ICollectionModelBinder.cs
    │   │   ├── IEnumerableValueProvider.cs
    │   │   ├── IKeyRewriterValueProvider.cs
    │   │   ├── IModelBinderFactory.cs
    │   │   ├── JQueryFormValueProvider.cs
    │   │   ├── JQueryFormValueProviderFactory.cs
    │   │   ├── JQueryKeyValuePairNormalizer.cs
    │   │   ├── JQueryQueryStringValueProvider.cs
    │   │   ├── JQueryQueryStringValueProviderFactory.cs
    │   │   ├── JQueryValueProvider.cs
    │   │   ├── Metadata
    │   │   │   ├── BindingMetadata.cs
    │   │   │   ├── BindingMetadataProviderContext.cs
    │   │   │   ├── BindingSourceMetadataProvider.cs
    │   │   │   ├── DefaultBindingMetadataProvider.cs
    │   │   │   ├── DefaultCompositeMetadataDetailsProvider.cs
    │   │   │   ├── DefaultMetadataDetails.cs
    │   │   │   ├── DefaultModelBindingMessageProvider.cs
    │   │   │   ├── DefaultModelMetadata.cs
    │   │   │   ├── DefaultModelMetadataProvider.cs
    │   │   │   ├── DefaultValidationMetadataProvider.cs
    │   │   │   ├── DisplayMetadata.cs
    │   │   │   ├── DisplayMetadataProviderContext.cs
    │   │   │   ├── ExcludeBindingMetadataProvider.cs
    │   │   │   ├── HasValidatorsValidationMetadataProvider.cs
    │   │   │   ├── IBindingMetadataProvider.cs
    │   │   │   ├── ICompositeMetadataDetailsProvider.cs
    │   │   │   ├── IDisplayMetadataProvider.cs
    │   │   │   ├── IMetadataDetailsProvider.cs
    │   │   │   ├── IValidationMetadataProvider.cs
    │   │   │   ├── MetadataDetailsProviderExtensions.cs
    │   │   │   ├── ModelAttributes.cs
    │   │   │   ├── ValidationMetadata.cs
    │   │   │   └── ValidationMetadataProviderContext.cs
    │   │   ├── ModelBinderFactory.cs
    │   │   ├── ModelBinderFactoryContext.cs
    │   │   ├── ModelBinderProviderExtensions.cs
    │   │   ├── ModelBindingHelper.cs
    │   │   ├── ModelMetadataProviderExtensions.cs
    │   │   ├── ModelNames.cs
    │   │   ├── NoOpBinder.cs
    │   │   ├── ObjectModelValidator.cs
    │   │   ├── ParameterBinder.cs
    │   │   ├── PlaceholderBinder.cs
    │   │   ├── PrefixContainer.cs
    │   │   ├── PropertyValueSetter.cs
    │   │   ├── QueryStringValueProvider.cs
    │   │   ├── QueryStringValueProviderFactory.cs
    │   │   ├── ReferenceEqualityComparer.cs
    │   │   ├── RouteValueProvider.cs
    │   │   ├── RouteValueProviderFactory.cs
    │   │   ├── SuppressChildValidationMetadataProvider.cs
    │   │   ├── UnsupportedContentTypeException.cs
    │   │   ├── UnsupportedContentTypeFilter.cs
    │   │   ├── Validation
    │   │   │   ├── ClientValidatorCache.cs
    │   │   │   ├── CompositeClientModelValidatorProvider.cs
    │   │   │   ├── CompositeModelValidatorProvider.cs
    │   │   │   ├── DefaultCollectionValidationStrategy.cs
    │   │   │   ├── DefaultComplexObjectValidationStrategy.cs
    │   │   │   ├── DefaultModelValidatorProvider.cs
    │   │   │   ├── DefaultObjectValidator.cs
    │   │   │   ├── ExplicitIndexCollectionValidationStrategy.cs
    │   │   │   ├── IMetadataBasedModelValidatorProvider.cs
    │   │   │   ├── IObjectModelValidator.cs
    │   │   │   ├── ModelValidatorProviderExtensions.cs
    │   │   │   ├── ShortFormDictionaryValidationStrategy.cs
    │   │   │   ├── ValidateNeverAttribute.cs
    │   │   │   ├── ValidationStack.cs
    │   │   │   ├── ValidationVisitor.cs
    │   │   │   └── ValidatorCache.cs
    │   │   └── ValueProviderFactoryExtensions.cs
    │   ├── ModelMetadataTypeAttribute.cs
    │   ├── MvcCoreDiagnosticSourceExtensions.cs
    │   ├── MvcCoreLoggerExtensions.cs
    │   ├── MvcOptions.cs
    │   ├── NoContentResult.cs
    │   ├── NonActionAttribute.cs
    │   ├── NonControllerAttribute.cs
    │   ├── NonViewComponentAttribute.cs
    │   ├── NotFoundObjectResult.cs
    │   ├── NotFoundResult.cs
    │   ├── ObjectResult.cs
    │   ├── OkObjectResult.cs
    │   ├── OkResult.cs
    │   ├── PhysicalFileResult.cs
    │   ├── ProblemDetails.cs
    │   ├── ProducesAttribute.cs
    │   ├── ProducesDefaultResponseTypeAttribute.cs
    │   ├── ProducesErrorResponseTypeAttribute.cs
    │   ├── ProducesResponseTypeAttribute.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RedirectResult.cs
    │   ├── RedirectToActionResult.cs
    │   ├── RedirectToPageResult.cs
    │   ├── RedirectToRouteResult.cs
    │   ├── RequestFormLimitsAttribute.cs
    │   ├── RequestSizeLimitAttribute.cs
    │   ├── RequireHttpsAttribute.cs
    │   ├── Resources.resx
    │   ├── ResponseCacheAttribute.cs
    │   ├── ResponseCacheLocation.cs
    │   ├── RouteAttribute.cs
    │   ├── Routing
    │   │   ├── ActionConstraintMatcherPolicy.cs
    │   │   ├── AttributeRoute.cs
    │   │   ├── AttributeRouting.cs
    │   │   ├── ConsumesMatcherPolicy.cs
    │   │   ├── ConsumesMetadata.cs
    │   │   ├── ControllerLinkGeneratorExtensions.cs
    │   │   ├── EndpointRoutingUrlHelper.cs
    │   │   ├── HttpMethodAttribute.cs
    │   │   ├── IActionHttpMethodProvider.cs
    │   │   ├── IConsumesMetadata.cs
    │   │   ├── IRouteTemplateProvider.cs
    │   │   ├── IRouteValueProvider.cs
    │   │   ├── IUrlHelperFactory.cs
    │   │   ├── KnownRouteValueConstraint.cs
    │   │   ├── MvcAttributeRouteHandler.cs
    │   │   ├── MvcEndpointDataSource.cs
    │   │   ├── MvcEndpointInvokerFactory.cs
    │   │   ├── MvcRouteHandler.cs
    │   │   ├── NormalizedRouteValue.cs
    │   │   ├── NullRouter.cs
    │   │   ├── PageLinkGeneratorExtensions.cs
    │   │   ├── RoutePatternWriter.cs
    │   │   ├── RouteValueAttribute.cs
    │   │   ├── UrlHelper.cs
    │   │   ├── UrlHelperBase.cs
    │   │   ├── UrlHelperFactory.cs
    │   │   └── ViewEnginePath.cs
    │   ├── SerializableError.cs
    │   ├── ServiceFilterAttribute.cs
    │   ├── SignInResult.cs
    │   ├── SignOutResult.cs
    │   ├── StatusCodeResult.cs
    │   ├── TypeFilterAttribute.cs
    │   ├── UnauthorizedObjectResult.cs
    │   ├── UnauthorizedResult.cs
    │   ├── UnprocessableEntityObjectResult.cs
    │   ├── UnprocessableEntityResult.cs
    │   ├── UnsupportedMediaTypeResult.cs
    │   ├── UrlHelperExtensions.cs
    │   ├── ValidationProblemDetails.cs
    │   ├── ViewFeatures
    │   │   └── IKeepTempDataResult.cs
    │   ├── VirtualFileResult.cs
    │   ├── baseline.netcore.json
    │   └── breakingchanges.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Cors
    │   ├── CorsApplicationModelProvider.cs
    │   ├── CorsAuthorizationFilter.cs
    │   ├── CorsAuthorizationFilterFactory.cs
    │   ├── CorsHttpMethodActionConstraint.cs
    │   ├── CorsLoggerExtensions.cs
    │   ├── DependencyInjection
    │   │   └── MvcCorsMvcCoreBuilderExtensions.cs
    │   ├── DisableCorsAuthorizationFilter.cs
    │   ├── ICorsAuthorizationFilter.cs
    │   ├── Microsoft.AspNetCore.Mvc.Cors.csproj
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── Resources.resx
    │   ├── baseline.netcore.json
    │   └── breakingchanges.netcore.json
    ├── Microsoft.AspNetCore.Mvc.DataAnnotations
    │   ├── AttributeAdapterBase.cs
    │   ├── CompareAttributeAdapter.cs
    │   ├── DataAnnotationsClientModelValidatorProvider.cs
    │   ├── DataAnnotationsLocalizationServices.cs
    │   ├── DataAnnotationsMetadataProvider.cs
    │   ├── DataAnnotationsModelValidator.cs
    │   ├── DataAnnotationsModelValidatorProvider.cs
    │   ├── DataTypeAttributeAdapter.cs
    │   ├── DefaultClientModelValidatorProvider.cs
    │   ├── DependencyInjection
    │   │   ├── MvcDataAnnotationsLocalizationConfigureCompatibilityOptions.cs
    │   │   ├── MvcDataAnnotationsLocalizationOptionsSetup.cs
    │   │   ├── MvcDataAnnotationsMvcBuilderExtensions.cs
    │   │   ├── MvcDataAnnotationsMvcCoreBuilderExtensions.cs
    │   │   └── MvcDataAnnotationsMvcOptionsSetup.cs
    │   ├── FileExtensionsAttributeAdapter.cs
    │   ├── HiddenInputAttribute.cs
    │   ├── IAttributeAdapter.cs
    │   ├── IValidationAttributeAdapterProvider.cs
    │   ├── MaxLengthAttributeAdapter.cs
    │   ├── Microsoft.AspNetCore.Mvc.DataAnnotations.csproj
    │   ├── MinLengthAttributeAdapter.cs
    │   ├── MvcDataAnnotationsLocalizationOptions.cs
    │   ├── NumericClientModelValidator.cs
    │   ├── NumericClientModelValidatorProvider.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RangeAttributeAdapter.cs
    │   ├── RegularExpressionAttributeAdapter.cs
    │   ├── RequiredAttributeAdapter.cs
    │   ├── Resources.resx
    │   ├── StringLengthAttributeAdapter.cs
    │   ├── ValidatableObjectAdapter.cs
    │   ├── ValidationAttributeAdapterOfTAttribute.cs
    │   ├── ValidationAttributeAdapterProvider.cs
    │   ├── ValidationProviderAttribute.cs
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Formatters.Json
    │   ├── DependencyInjection
    │   │   ├── MvcJsonMvcBuilderExtensions.cs
    │   │   ├── MvcJsonMvcCoreBuilderExtensions.cs
    │   │   ├── MvcJsonMvcOptionsSetup.cs
    │   │   ├── MvcJsonOptionsConfigureCompatibilityOptions.cs
    │   │   └── MvcJsonOptionsExtensions.cs
    │   ├── JsonArrayPool.cs
    │   ├── JsonInputFormatter.cs
    │   ├── JsonOutputFormatter.cs
    │   ├── JsonPatchExtensions.cs
    │   ├── JsonPatchInputFormatter.cs
    │   ├── JsonPatchOperationsArrayProvider.cs
    │   ├── JsonResult.cs
    │   ├── JsonResultExecutor.cs
    │   ├── JsonSerializerObjectPolicy.cs
    │   ├── JsonSerializerSettingsProvider.cs
    │   ├── MediaTypeHeaderValues.cs
    │   ├── Microsoft.AspNetCore.Mvc.Formatters.Json.csproj
    │   ├── MvcJsonLoggerExtensions.cs
    │   ├── MvcJsonOptions.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── Resources.resx
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Formatters.Xml
    │   ├── DelegatingEnumerable.cs
    │   ├── DelegatingEnumerator.cs
    │   ├── DependencyInjection
    │   │   ├── MvcXmlMvcBuilderExtensions.cs
    │   │   ├── MvcXmlMvcCoreBuilderExtensions.cs
    │   │   ├── MvcXmlOptionsConfigureCompatibilityOptions.cs
    │   │   ├── XmlDataContractSerializerMvcOptionsSetup.cs
    │   │   └── XmlSerializerMvcOptionsSetup.cs
    │   ├── EnumerableWrapperProvider.cs
    │   ├── EnumerableWrapperProviderFactory.cs
    │   ├── FormattingUtilities.cs
    │   ├── IUnwrappable.cs
    │   ├── IWrapperProvider.cs
    │   ├── IWrapperProviderFactory.cs
    │   ├── LoggerExtensions.cs
    │   ├── MediaTypeHeaderValues.cs
    │   ├── Microsoft.AspNetCore.Mvc.Formatters.Xml.csproj
    │   ├── ModelBinding
    │   │   └── DataMemberRequiredBindingMetadataProvider.cs
    │   ├── MvcXmlOptions.cs
    │   ├── ProblemDetails21Wrapper.cs
    │   ├── ProblemDetailsWrapper.cs
    │   ├── ProblemDetailsWrapperProviderFactory.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── Resources.resx
    │   ├── SerializableErrorWrapper.cs
    │   ├── SerializableErrorWrapperProvider.cs
    │   ├── SerializableErrorWrapperProviderFactory.cs
    │   ├── ValidationProblemDetails21Wrapper.cs
    │   ├── ValidationProblemDetailsWrapper.cs
    │   ├── WrapperProviderContext.cs
    │   ├── WrapperProviderFactoriesExtensions.cs
    │   ├── XmlDataContractSerializerInputFormatter.cs
    │   ├── XmlDataContractSerializerOutputFormatter.cs
    │   ├── XmlSerializerInputFormatter.cs
    │   ├── XmlSerializerOutputFormatter.cs
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Localization
    │   ├── DependencyInjection
    │   │   ├── MvcLocalizationMvcBuilderExtensions.cs
    │   │   └── MvcLocalizationMvcCoreBuilderExtensions.cs
    │   ├── HtmlLocalizer.cs
    │   ├── HtmlLocalizerExtensions.cs
    │   ├── HtmlLocalizerFactory.cs
    │   ├── HtmlLocalizerOfT.cs
    │   ├── IHtmlLocalizer.cs
    │   ├── IHtmlLocalizerFactory.cs
    │   ├── IHtmlLocalizerOfT.cs
    │   ├── IViewLocalizer.cs
    │   ├── LocalizedHtmlString.cs
    │   ├── Microsoft.AspNetCore.Mvc.Localization.csproj
    │   ├── MvcLocalizationServices.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── ViewLocalizer.cs
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.Razor
    │   ├── ApplicationParts
    │   │   ├── CompiledRazorAssemblyApplicationPartFactory.cs
    │   │   ├── CompiledRazorAssemblyPart.cs
    │   │   ├── IRazorCompiledItemProvider.cs
    │   │   └── RazorCompiledItemFeatureProvider.cs
    │   ├── Compilation
    │   │   ├── CompiledViewDescriptor.cs
    │   │   ├── DefaultRazorPageFactoryProvider.cs
    │   │   ├── IViewCompiler.cs
    │   │   ├── IViewCompilerProvider.cs
    │   │   ├── RazorViewAttribute.cs
    │   │   ├── RazorViewCompiler.cs
    │   │   ├── RazorViewCompilerProvider.cs
    │   │   ├── ViewsFeature.cs
    │   │   └── ViewsFeatureProvider.cs
    │   ├── DefaultTagHelperFactory.cs
    │   ├── DependencyInjection
    │   │   ├── MvcRazorMvcBuilderExtensions.cs
    │   │   ├── MvcRazorMvcCoreBuilderExtensions.cs
    │   │   ├── MvcRazorMvcViewOptionsSetup.cs
    │   │   └── TagHelpersAsServices.cs
    │   ├── HelperResult.cs
    │   ├── IModelTypeProvider.cs
    │   ├── IRazorPage.cs
    │   ├── IRazorPageActivator.cs
    │   ├── IRazorPageFactoryProvider.cs
    │   ├── IRazorViewEngine.cs
    │   ├── ITagHelperActivator.cs
    │   ├── ITagHelperFactory.cs
    │   ├── ITagHelperInitializerOfT.cs
    │   ├── IViewLocationExpander.cs
    │   ├── Infrastructure
    │   │   ├── CryptographyAlgorithms.cs
    │   │   ├── DefaultFileVersionProvider.cs
    │   │   ├── DefaultTagHelperActivator.cs
    │   │   └── TagHelperMemoryCacheProvider.cs
    │   ├── Internal
    │   │   └── RazorInjectAttribute.cs
    │   ├── LanguageViewLocationExpander.cs
    │   ├── LanguageViewLocationExpanderFormat.cs
    │   ├── Microsoft.AspNetCore.Mvc.Razor.csproj
    │   ├── MvcRazorDiagnosticSourceExtensions.cs
    │   ├── MvcRazorLoggerExtensions.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RazorFileHierarchy.cs
    │   ├── RazorPage.cs
    │   ├── RazorPageActivator.cs
    │   ├── RazorPageBase.cs
    │   ├── RazorPageFactoryResult.cs
    │   ├── RazorPageOfT.cs
    │   ├── RazorPagePropertyActivator.cs
    │   ├── RazorPageResult.cs
    │   ├── RazorView.cs
    │   ├── RazorViewEngine.cs
    │   ├── RazorViewEngineOptions.cs
    │   ├── RazorViewEngineOptionsSetup.cs
    │   ├── RenderAsyncDelegate.cs
    │   ├── Resources.resx
    │   ├── ServiceBasedTagHelperActivator.cs
    │   ├── TagHelperComponentManager.cs
    │   ├── TagHelperInitializerOfT.cs
    │   ├── TagHelpers
    │   │   ├── BodyTagHelper.cs
    │   │   ├── HeadTagHelper.cs
    │   │   ├── ITagHelperComponentManager.cs
    │   │   ├── ITagHelperComponentPropertyActivator.cs
    │   │   ├── TagHelperComponentPropertyActivator.cs
    │   │   ├── TagHelperComponentTagHelper.cs
    │   │   ├── TagHelperFeature.cs
    │   │   ├── TagHelperFeatureProvider.cs
    │   │   └── UrlResolutionTagHelper.cs
    │   ├── ViewLocationCacheItem.cs
    │   ├── ViewLocationCacheKey.cs
    │   ├── ViewLocationCacheResult.cs
    │   ├── ViewLocationExpanderContext.cs
    │   ├── ViewPath.cs
    │   ├── baseline.netcore.json
    │   └── breakingchanges.netcore.json
    ├── Microsoft.AspNetCore.Mvc.RazorPages
    │   ├── ApplicationModels
    │   │   ├── AuthorizationPageApplicationModelProvider.cs
    │   │   ├── AutoValidateAntiforgeryPageApplicationModelProvider.cs
    │   │   ├── CompiledPageActionDescriptorBuilder.cs
    │   │   ├── CompiledPageRouteModelProvider.cs
    │   │   ├── DefaultPageApplicationModelProvider.cs
    │   │   ├── IPageApplicationModelConvention.cs
    │   │   ├── IPageApplicationModelProvider.cs
    │   │   ├── IPageConvention.cs
    │   │   ├── IPageHandlerModelConvention.cs
    │   │   ├── IPageRouteModelConvention.cs
    │   │   ├── IPageRouteModelProvider.cs
    │   │   ├── PageApplicationModel.cs
    │   │   ├── PageApplicationModelProviderContext.cs
    │   │   ├── PageConventionCollection.cs
    │   │   ├── PageHandlerModel.cs
    │   │   ├── PageParameterModel.cs
    │   │   ├── PagePropertyModel.cs
    │   │   ├── PageRouteMetadata.cs
    │   │   ├── PageRouteModel.cs
    │   │   ├── PageRouteModelFactory.cs
    │   │   ├── PageRouteModelProviderContext.cs
    │   │   ├── PageRouteTransformerConvention.cs
    │   │   ├── ResponseCacheFilterApplicationModelProvider.cs
    │   │   ├── TempDataFilterPageApplicationModelProvider.cs
    │   │   └── ViewDataAttributePageApplicationModelProvider.cs
    │   ├── Builder
    │   │   └── RazorPagesEndpointRouteBuilderExtensions.cs
    │   ├── CompiledPageActionDescriptor.cs
    │   ├── DependencyInjection
    │   │   ├── MvcRazorPagesMvcBuilderExtensions.cs
    │   │   ├── MvcRazorPagesMvcCoreBuilderExtensions.cs
    │   │   ├── PageConventionCollectionExtensions.cs
    │   │   └── RazorPagesRazorViewEngineOptionsSetup.cs
    │   ├── Filters
    │   │   ├── IAsyncPageFilter.cs
    │   │   ├── IPageFilter.cs
    │   │   ├── PageHandlerExecutedContext.cs
    │   │   ├── PageHandlerExecutingContext.cs
    │   │   ├── PageHandlerExecutionDelegate.cs
    │   │   ├── PageHandlerPageFilter.cs
    │   │   ├── PageHandlerResultFIlter.cs
    │   │   ├── PageHandlerSelectedContext.cs
    │   │   ├── PageResponseCacheFilter.cs
    │   │   ├── PageSaveTempDataPropertyFilter.cs
    │   │   ├── PageSaveTempDataPropertyFilterFactory.cs
    │   │   ├── PageViewDataAttributeFilter.cs
    │   │   └── PageViewDataAttributeFilterFactory.cs
    │   ├── IPageActivatorProvider.cs
    │   ├── IPageFactoryProvider.cs
    │   ├── IPageModelActivatorProvider.cs
    │   ├── IPageModelFactoryProvider.cs
    │   ├── Infrastructure
    │   │   ├── DefaultPageActivatorProvider.cs
    │   │   ├── DefaultPageArgumentBinder.cs
    │   │   ├── DefaultPageFactoryProvider.cs
    │   │   ├── DefaultPageHandlerMethodSelector.cs
    │   │   ├── DefaultPageLoader.cs
    │   │   ├── DefaultPageModelActivatorProvider.cs
    │   │   ├── DefaultPageModelFactoryProvider.cs
    │   │   ├── ExecutorFactory.cs
    │   │   ├── HandleOptionsRequestsPageFilter.cs
    │   │   ├── HandlerMethodDescriptor.cs
    │   │   ├── HandlerParameterDescriptor.cs
    │   │   ├── IPageHandlerMethodSelector.cs
    │   │   ├── IPageLoader.cs
    │   │   ├── PageActionDescriptorProvider.cs
    │   │   ├── PageActionInvoker.cs
    │   │   ├── PageActionInvokerCacheEntry.cs
    │   │   ├── PageActionInvokerProvider.cs
    │   │   ├── PageArgumentBinder.cs
    │   │   ├── PageBinderFactory.cs
    │   │   ├── PageBoundPropertyDescriptor.cs
    │   │   ├── PageHandlerBinderDelegate.cs
    │   │   ├── PageHandlerExecutorDelegate.cs
    │   │   ├── PageModelAttribute.cs
    │   │   ├── PageResultExecutor.cs
    │   │   ├── PageViewLocationExpander.cs
    │   │   ├── RazorPageAdapter.cs
    │   │   ├── RazorPageAttribute.cs
    │   │   └── ServiceBasedPageModelActivatorProvider.cs
    │   ├── Microsoft.AspNetCore.Mvc.RazorPages.csproj
    │   ├── MvcRazorPagesDiagnosticSourceExtensions.cs
    │   ├── NonHandlerAttribute.cs
    │   ├── Page.cs
    │   ├── PageActionDescriptor.cs
    │   ├── PageBase.cs
    │   ├── PageContext.cs
    │   ├── PageContextAttribute.cs
    │   ├── PageLoggerExtensions.cs
    │   ├── PageModel.cs
    │   ├── PageResult.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RazorPagesOptions.cs
    │   ├── RazorPagesOptionsConfigureCompatibilityOptions.cs
    │   ├── Resources.resx
    │   ├── baseline.netcore.json
    │   └── breakingchanges.netcore.json
    ├── Microsoft.AspNetCore.Mvc.TagHelpers
    │   ├── AnchorTagHelper.cs
    │   ├── AttributeMatcher.cs
    │   ├── Cache
    │   │   ├── CacheTagKey.cs
    │   │   ├── DistributedCacheTagHelperFormatter.cs
    │   │   ├── DistributedCacheTagHelperFormattingContext.cs
    │   │   ├── DistributedCacheTagHelperService.cs
    │   │   ├── DistributedCacheTagHelperStorage.cs
    │   │   ├── IDistributedCacheTagHelperFormatter.cs
    │   │   ├── IDistributedCacheTagHelperService.cs
    │   │   └── IDistributedCacheTagHelperStorage.cs
    │   ├── CacheTagHelper.cs
    │   ├── CacheTagHelperBase.cs
    │   ├── CacheTagHelperMemoryCacheFactory.cs
    │   ├── CacheTagHelperOptions.cs
    │   ├── CurrentValues.cs
    │   ├── DependencyInjection
    │   │   └── TagHelperExtensions.cs
    │   ├── DistributedCacheTagHelper.cs
    │   ├── EnvironmentTagHelper.cs
    │   ├── FileProviderGlobbingDirectory.cs
    │   ├── FileProviderGlobbingFile.cs
    │   ├── FormActionTagHelper.cs
    │   ├── FormTagHelper.cs
    │   ├── GlobbingUrlBuilder.cs
    │   ├── ImageTagHelper.cs
    │   ├── InputTagHelper.cs
    │   ├── JavaScriptResources.cs
    │   ├── LabelTagHelper.cs
    │   ├── LinkTagHelper.cs
    │   ├── Microsoft.AspNetCore.Mvc.TagHelpers.csproj
    │   ├── ModeAttributesOfT.cs
    │   ├── MvcTagHelpersLoggerExtensions.cs
    │   ├── OptionTagHelper.cs
    │   ├── PartialTagHelper.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RenderAtEndOfFormTagHelper.cs
    │   ├── Rendering
    │   │   └── ValidationSummary.cs
    │   ├── Resources.resx
    │   ├── ScriptTagHelper.cs
    │   ├── SelectTagHelper.cs
    │   ├── TagHelperOutputExtensions.cs
    │   ├── TextAreaTagHelper.cs
    │   ├── ValidationMessageTagHelper.cs
    │   ├── ValidationSummaryTagHelper.cs
    │   ├── _grunt.readme
    │   ├── _gruntfile.js
    │   ├── _package.json
    │   ├── baseline.netcore.json
    │   ├── breakingchanges.netcore.json
    │   ├── compiler
    │   │   └── resources
    │   │   │   └── LinkTagHelper_FallbackJavaScript.js
    │   └── js
    │   │   └── LinkTagHelper_FallbackJavaScript.js
    ├── Microsoft.AspNetCore.Mvc.Testing
    │   ├── Handlers
    │   │   ├── CookieContainerHandler.cs
    │   │   └── RedirectHandler.cs
    │   ├── Microsoft.AspNetCore.Mvc.Testing.csproj
    │   ├── Microsoft.AspNetCore.Mvc.Testing.targets
    │   ├── Properties
    │   │   └── Resources.Designer.cs
    │   ├── Resources.resx
    │   ├── WebApplicationFactory.cs
    │   ├── WebApplicationFactoryClientOptions.cs
    │   ├── WebApplicationFactoryContentRootAttribute.cs
    │   └── baseline.netcore.json
    ├── Microsoft.AspNetCore.Mvc.ViewFeatures
    │   ├── AntiforgeryExtensions.cs
    │   ├── AttributeDictionary.cs
    │   ├── AutoValidateAntiforgeryTokenAttribute.cs
    │   ├── Buffers
    │   │   ├── ArrayPoolBufferSource.cs
    │   │   ├── CharArrayBufferSource.cs
    │   │   ├── ICharBufferSource.cs
    │   │   ├── IViewBufferScope.cs
    │   │   ├── MemoryPoolViewBufferScope.cs
    │   │   ├── PagedBufferedTextWriter.cs
    │   │   ├── PagedCharBuffer.cs
    │   │   ├── ViewBuffer.cs
    │   │   ├── ViewBufferPage.cs
    │   │   ├── ViewBufferTextWriter.cs
    │   │   └── ViewBufferValue.cs
    │   ├── CachedExpressionCompiler.cs
    │   ├── Controller.cs
    │   ├── CookieTempDataProvider.cs
    │   ├── CookieTempDataProviderOptions.cs
    │   ├── DefaultDisplayTemplates.cs
    │   ├── DefaultEditorTemplates.cs
    │   ├── DefaultHtmlGenerator.cs
    │   ├── DefaultHtmlGeneratorExtensions.cs
    │   ├── DefaultValidationHtmlAttributeProvider.cs
    │   ├── DependencyInjection
    │   │   ├── MvcViewFeaturesMvcBuilderExtensions.cs
    │   │   ├── MvcViewFeaturesMvcCoreBuilderExtensions.cs
    │   │   ├── MvcViewOptionsSetup.cs
    │   │   └── TempDataMvcOptionsSetup.cs
    │   ├── DynamicViewData.cs
    │   ├── ExpressionHelper.cs
    │   ├── ExpressionMetadataProvider.cs
    │   ├── ExpressionTextCache.cs
    │   ├── Filters
    │   │   ├── AutoValidateAntiforgeryTokenAuthorizationFilter.cs
    │   │   ├── ControllerSaveTempDataPropertyFilter.cs
    │   │   ├── ControllerSaveTempDataPropertyFilterFactory.cs
    │   │   ├── ControllerViewDataAttributeFilter.cs
    │   │   ├── ControllerViewDataAttributeFilterFactory.cs
    │   │   ├── ISaveTempDataCallback.cs
    │   │   ├── IViewDataValuesProviderFeature.cs
    │   │   ├── LifecycleProperty.cs
    │   │   ├── SaveTempDataFilter.cs
    │   │   ├── SaveTempDataPropertyFilterBase.cs
    │   │   ├── TempDataApplicationModelProvider.cs
    │   │   ├── TempDataSerializer.cs
    │   │   ├── ValidateAntiforgeryTokenAuthorizationFilter.cs
    │   │   ├── ViewDataAttributeApplicationModelProvider.cs
    │   │   └── ViewDataAttributePropertyProvider.cs
    │   ├── FormContext.cs
    │   ├── FormatWeekHelper.cs
    │   ├── HtmlAttributePropertyHelper.cs
    │   ├── HtmlHelper.cs
    │   ├── HtmlHelperOfT.cs
    │   ├── HtmlHelperOptions.cs
    │   ├── IAntiforgeryPolicy.cs
    │   ├── IFileVersionProvider.cs
    │   ├── IHtmlGenerator.cs
    │   ├── IModelExpressionProvider.cs
    │   ├── ITempDataDictionary.cs
    │   ├── ITempDataDictionaryFactory.cs
    │   ├── ITempDataProvider.cs
    │   ├── IViewComponentHelper.cs
    │   ├── IViewComponentResult.cs
    │   ├── IViewContextAware.cs
    │   ├── IgnoreAntiforgeryTokenAttribute.cs
    │   ├── InputType.cs
    │   ├── JsonHelper.cs
    │   ├── MemberExpressionCacheKey.cs
    │   ├── MemberExpressionCacheKeyComparer.cs
    │   ├── Microsoft.AspNetCore.Mvc.ViewFeatures.csproj
    │   ├── ModelExplorer.cs
    │   ├── ModelExplorerExtensions.cs
    │   ├── ModelExpression.cs
    │   ├── ModelExpressionProvider.cs
    │   ├── ModelMetadataProviderExtensions.cs
    │   ├── ModelStateDictionaryExtensions.cs
    │   ├── MvcViewFeaturesDiagnosticSourceExtensions.cs
    │   ├── MvcViewFeaturesLoggerExtensions.cs
    │   ├── MvcViewOptions.cs
    │   ├── MvcViewOptionsConfigureCompatibilityOptions.cs
    │   ├── NameAndIdProvider.cs
    │   ├── NullView.cs
    │   ├── PageRemoteAttribute.cs
    │   ├── PartialViewResult.cs
    │   ├── PartialViewResultExecutor.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RemoteAttribute.cs
    │   ├── RemoteAttributeBase.cs
    │   ├── Rendering
    │   │   ├── FormMethod.cs
    │   │   ├── Html5DateRenderingMode.cs
    │   │   ├── HtmlHelperDisplayExtensions.cs
    │   │   ├── HtmlHelperDisplayNameExtensions.cs
    │   │   ├── HtmlHelperEditorExtensions.cs
    │   │   ├── HtmlHelperFormExtensions.cs
    │   │   ├── HtmlHelperInputExtensions.cs
    │   │   ├── HtmlHelperLabelExtensions.cs
    │   │   ├── HtmlHelperLinkExtensions.cs
    │   │   ├── HtmlHelperNameExtensions.cs
    │   │   ├── HtmlHelperPartialExtensions.cs
    │   │   ├── HtmlHelperSelectExtensions.cs
    │   │   ├── HtmlHelperValidationExtensions.cs
    │   │   ├── HtmlHelperValueExtensions.cs
    │   │   ├── IHtmlHelper.cs
    │   │   ├── IHtmlHelperOfT.cs
    │   │   ├── IJsonHelper.cs
    │   │   ├── MultiSelectList.cs
    │   │   ├── MvcForm.cs
    │   │   ├── SelectList.cs
    │   │   ├── SelectListGroup.cs
    │   │   ├── SelectListItem.cs
    │   │   ├── TagBuilder.cs
    │   │   ├── TagRenderMode.cs
    │   │   ├── ViewComponentHelperExtensions.cs
    │   │   └── ViewContext.cs
    │   ├── Resources.resx
    │   ├── SaveTempDataAttribute.cs
    │   ├── SessionStateTempDataProvider.cs
    │   ├── SkipStatusCodePagesAttribute.cs
    │   ├── StringHtmlContent.cs
    │   ├── TempDataAttribute.cs
    │   ├── TempDataDictionary.cs
    │   ├── TempDataDictionaryFactory.cs
    │   ├── TemplateBuilder.cs
    │   ├── TemplateInfo.cs
    │   ├── TemplateRenderer.cs
    │   ├── TryGetValueDelegate.cs
    │   ├── TryGetValueProvider.cs
    │   ├── ValidateAntiForgeryTokenAttribute.cs
    │   ├── ValidationHelpers.cs
    │   ├── ValidationHtmlAttributeProvider.cs
    │   ├── ViewComponent.cs
    │   ├── ViewComponentAttribute.cs
    │   ├── ViewComponentResult.cs
    │   ├── ViewComponentResultExecutor.cs
    │   ├── ViewComponents
    │   │   ├── ContentViewComponentResult.cs
    │   │   ├── DefaultViewComponentActivator.cs
    │   │   ├── DefaultViewComponentDescriptorCollectionProvider.cs
    │   │   ├── DefaultViewComponentDescriptorProvider.cs
    │   │   ├── DefaultViewComponentFactory.cs
    │   │   ├── DefaultViewComponentHelper.cs
    │   │   ├── DefaultViewComponentInvoker.cs
    │   │   ├── DefaultViewComponentInvokerFactory.cs
    │   │   ├── DefaultViewComponentSelector.cs
    │   │   ├── HtmlContentViewComponentResult.cs
    │   │   ├── IViewComponentActivator.cs
    │   │   ├── IViewComponentDescriptorCollectionProvider.cs
    │   │   ├── IViewComponentDescriptorProvider.cs
    │   │   ├── IViewComponentFactory.cs
    │   │   ├── IViewComponentInvoker.cs
    │   │   ├── IViewComponentInvokerFactory.cs
    │   │   ├── IViewComponentSelector.cs
    │   │   ├── ServiceBasedViewComponentActivator.cs
    │   │   ├── ViewComponentContext.cs
    │   │   ├── ViewComponentContextAttribute.cs
    │   │   ├── ViewComponentConventions.cs
    │   │   ├── ViewComponentDescriptor.cs
    │   │   ├── ViewComponentDescriptorCollection.cs
    │   │   ├── ViewComponentFeature.cs
    │   │   ├── ViewComponentFeatureProvider.cs
    │   │   ├── ViewComponentInvokerCache.cs
    │   │   └── ViewViewComponentResult.cs
    │   ├── ViewContextAttribute.cs
    │   ├── ViewDataAttribute.cs
    │   ├── ViewDataDictionary.cs
    │   ├── ViewDataDictionaryAttribute.cs
    │   ├── ViewDataDictionaryControllerPropertyActivator.cs
    │   ├── ViewDataDictionaryFactory.cs
    │   ├── ViewDataDictionaryOfT.cs
    │   ├── ViewDataEvaluator.cs
    │   ├── ViewDataInfo.cs
    │   ├── ViewEngines
    │   │   ├── CompositeViewEngine.cs
    │   │   ├── ICompositeViewEngine.cs
    │   │   ├── IView.cs
    │   │   ├── IViewEngine.cs
    │   │   └── ViewEngineResult.cs
    │   ├── ViewExecutor.cs
    │   ├── ViewResult.cs
    │   ├── ViewResultExecutor.cs
    │   ├── baseline.netcore.json
    │   └── breakingchanges.netcore.json
    ├── Microsoft.AspNetCore.Mvc
    │   ├── DesignTimeMvcServiceCollectionProvider.cs
    │   ├── Microsoft.AspNetCore.Mvc.csproj
    │   ├── MvcServiceCollectionExtensions.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   └── baseline.netcore.json
    ├── Microsoft.Extensions.ApiDescription.Design
    │   ├── DownloadFile.cs
    │   ├── GetCurrentItems.cs
    │   ├── GetFileReferenceMetadata.cs
    │   ├── GetProjectReferenceMetadata.cs
    │   ├── GetUriReferenceMetadata.cs
    │   ├── MetadataSerializer.cs
    │   ├── Microsoft.Extensions.ApiDescription.Design.csproj
    │   ├── Microsoft.Extensions.ApiDescription.Design.nuspec
    │   ├── Properties
    │   │   └── Resources.Designer.cs
    │   ├── Resources.resx
    │   ├── build
    │   │   ├── Microsoft.Extensions.ApiDescription.Design.props
    │   │   └── Microsoft.Extensions.ApiDescription.Design.targets
    │   └── buildMultiTargeting
    │   │   └── Microsoft.Extensions.ApiDescription.Design.targets
    └── dotnet-getdocument
    │   ├── Commands
    │       └── InvokeCommand.cs
    │   ├── Exe.cs
    │   ├── Program.cs
    │   ├── Project.cs
    │   ├── ProjectOptions.cs
    │   ├── Properties
    │       └── Resources.Designer.cs
    │   ├── Resources.resx
    │   ├── ServiceProjectReferenceMetadata.targets
    │   └── dotnet-getdocument.csproj
├── test
    ├── Directory.Build.props
    ├── Microsoft.AspNetCore.Mvc.Abstractions.Test
    │   ├── Filters
    │   │   └── FilterContextTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.Abstractions.Test.csproj
    │   ├── ModelBinding
    │   │   ├── BindingInfoTest.cs
    │   │   ├── ModelMetadataTest.cs
    │   │   ├── ModelStateDictionaryTest.cs
    │   │   └── ValueProviderResultTest.cs
    │   └── Properties
    │   │   └── AssemblyInfo.cs
    ├── Microsoft.AspNetCore.Mvc.ApiExplorer.Test
    │   ├── ApiResponseTypeProviderTest.cs
    │   ├── DefaultApiDescriptionProviderTest.cs
    │   └── Microsoft.AspNetCore.Mvc.ApiExplorer.Test.csproj
    ├── Microsoft.AspNetCore.Mvc.Core.Test
    │   ├── AcceptedAtActionResultTests.cs
    │   ├── AcceptedAtRouteResultTests.cs
    │   ├── AcceptedResultTests.cs
    │   ├── ActionConstraints
    │   │   ├── ActionConstraintCacheTest.cs
    │   │   └── HttpMethodActionConstraintTest.cs
    │   ├── ActionResultOfTTest.cs
    │   ├── ApiConventionMethodAttributeTest.cs
    │   ├── ApiConventionTypeAttributeTest.cs
    │   ├── ApiExplorer
    │   │   ├── ApiConventionMatcherTest.cs
    │   │   └── ApiConventionResultTest.cs
    │   ├── ApplicationModels
    │   │   ├── ActionModelTest.cs
    │   │   ├── ApiBehaviorApplicationModelProviderTest.cs
    │   │   ├── ApiConventionApplicationModelConventionTest.cs
    │   │   ├── ApiVisibilityConventionTest.cs
    │   │   ├── AttributeRouteModelTests.cs
    │   │   ├── AuthorizationApplicationModelProviderTest.cs
    │   │   ├── ClientErrorResultFilterConventionTest.cs
    │   │   ├── ConsumesConstraintForFormFileParameterConventionTest.cs
    │   │   ├── ControllerActionDescriptorBuilderTest.cs
    │   │   ├── ControllerActionDescriptorProviderTests.cs
    │   │   ├── ControllerModelTest.cs
    │   │   ├── DefaultApplicationModelProviderTest.cs
    │   │   ├── InferParameterBindingInfoConventionTest.cs
    │   │   ├── InvalidModelStateFilterConventionTest.cs
    │   │   ├── ParameterModelTest.cs
    │   │   ├── PropertyModelTest.cs
    │   │   └── RouteTokenTransformerConventionTest.cs
    │   ├── ApplicationParts
    │   │   ├── ApplicationAssembliesProviderTest.cs
    │   │   ├── ApplicationPartManagerTest.cs
    │   │   ├── AssemblyPartTest.cs
    │   │   └── RelatedAssemblyPartTest.cs
    │   ├── Authorization
    │   │   └── AuthorizeFilterTest.cs
    │   ├── BadRequestObjectResultTests.cs
    │   ├── BadRequestResultTests.cs
    │   ├── BindAttributeTest.cs
    │   ├── Builder
    │   │   ├── MvcApplicationBuilderExtensionsTest.cs
    │   │   └── MvcAreaRouteBuilderExtensionsTest.cs
    │   ├── ChallengeResultTest.cs
    │   ├── ConflictObjectResultTest.cs
    │   ├── ConflictResultTest.cs
    │   ├── ConsumesAttributeTests.cs
    │   ├── ContentResultTest.cs
    │   ├── ControllerBaseTest.cs
    │   ├── Controllers
    │   │   ├── ControllerActivatorProviderTest.cs
    │   │   ├── ControllerBinderDelegateProviderTest.cs
    │   │   ├── ControllerFactoryProviderTest.cs
    │   │   ├── ControllerFeatureProviderTest.cs
    │   │   ├── DefaultControllerActivatorTest.cs
    │   │   ├── DefaultControllerFactoryTest.cs
    │   │   └── ServiceBasedControllerActivatorTest.cs
    │   ├── CreatedAtActionResultTests.cs
    │   ├── CreatedAtRouteResultTests.cs
    │   ├── CreatedResultTests.cs
    │   ├── DependencyInjection
    │   │   ├── ApiBehaviorOptionsSetupTest.cs
    │   │   ├── ApplicationModelConventionExtensionsTest.cs
    │   │   ├── MvcBuilderExtensionsTest.cs
    │   │   ├── MvcCoreBuilderExtensionsTest.cs
    │   │   └── MvcCoreServiceCollectionExtensionsTest.cs
    │   ├── EmptyResultTests.cs
    │   ├── FileContentResultTest.cs
    │   ├── FileResultTest.cs
    │   ├── FileStreamResultTest.cs
    │   ├── Filters
    │   │   ├── ActionFilterAttributeTests.cs
    │   │   ├── DisableRequestSizeLimitFilterTest.cs
    │   │   ├── FilterCollectionTest.cs
    │   │   ├── FilterFactoryTest.cs
    │   │   ├── FilterProviderTest.cs
    │   │   ├── MiddlewareFilterAttributeTest.cs
    │   │   ├── MiddlewareFilterBuilderTest.cs
    │   │   ├── MiddlewareFilterConfigurationProviderTest.cs
    │   │   ├── MiddlewareFilterTest.cs
    │   │   ├── RequestFormLimitsFilterTest.cs
    │   │   ├── RequestSizeLimitFilterTest.cs
    │   │   ├── ResponseCacheFilterExecutorTest.cs
    │   │   └── ResultFilterAttributeTest.cs
    │   ├── FlushReportingStream.cs
    │   ├── ForbidResultTest.cs
    │   ├── Formatters
    │   │   ├── AcceptHeaderParserTest.cs
    │   │   ├── FormatFilterTest.cs
    │   │   ├── FormatterCollectionTest.cs
    │   │   ├── FormatterMappingsTest.cs
    │   │   ├── InputFormatterTest.cs
    │   │   ├── MediaTypeTest.cs
    │   │   ├── NoContentFormatterTests.cs
    │   │   ├── OutputFormatterTests.cs
    │   │   ├── ResponseContentTypeHelperTest.cs
    │   │   ├── StreamOutputFormatterTest.cs
    │   │   ├── StringOutputFormatterTests.cs
    │   │   ├── TextInputFormatterTest.cs
    │   │   └── TextOutputFormatterTests.cs
    │   ├── HttpNotFoundObjectResultTest.cs
    │   ├── HttpNotFoundResultTests.cs
    │   ├── HttpOkObjectResultTest.cs
    │   ├── HttpOkResultTest.cs
    │   ├── HttpStatusCodeResultTests.cs
    │   ├── HttpUnauthorizedResultTests.cs
    │   ├── Infrastructure
    │   │   ├── ActionMethodExecutorTest.cs
    │   │   ├── ActionResultTypeMapperTest.cs
    │   │   ├── ActionSelectorTest.cs
    │   │   ├── ClientErrorResultFilterTest.cs
    │   │   ├── CompatibilitySwitchTest.cs
    │   │   ├── ConfigureCompatibilityOptionsTest.cs
    │   │   ├── ControllerActionInvokerCacheTest.cs
    │   │   ├── ControllerActionInvokerTest.cs
    │   │   ├── DefaultActionDescriptorCollectionProviderTest.cs
    │   │   ├── DefaultOutputFormatterSelectorTest.cs
    │   │   ├── ModelStateInvalidFilterTest.cs
    │   │   ├── MvcOptionsConfigureCompatibilityOptionsTest.cs
    │   │   ├── NonDisposableStreamTest.cs
    │   │   ├── NullableCompatibilitySwitchTest.cs
    │   │   ├── ObjectResultExecutorTest.cs
    │   │   ├── ParameterDefaultValuesTest.cs
    │   │   └── ProblemDetalsClientErrorFactoryTest.cs
    │   ├── LocalRedirectResultTest.cs
    │   ├── MediaTypeCollectionTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.Core.Test.csproj
    │   ├── ModelBinding
    │   │   ├── Binders
    │   │   │   ├── ArrayModelBinderProviderTest.cs
    │   │   │   ├── ArrayModelBinderTest.cs
    │   │   │   ├── BinderTypeModelBinderProviderTest.cs
    │   │   │   ├── BinderTypeModelBinderTest.cs
    │   │   │   ├── BodyModelBinderProviderTest.cs
    │   │   │   ├── BodyModelBinderTests.cs
    │   │   │   ├── ByteArrayModelBinderProviderTest.cs
    │   │   │   ├── ByteArrayModelBinderTests.cs
    │   │   │   ├── CancellationTokenModelBinderProviderTest.cs
    │   │   │   ├── CancellationTokenModelBinderTests.cs
    │   │   │   ├── CollectionModelBinderProviderTest.cs
    │   │   │   ├── CollectionModelBinderTest.cs
    │   │   │   ├── ComplexTypeModelBinderProviderTest.cs
    │   │   │   ├── ComplexTypeModelBinderTest.cs
    │   │   │   ├── DecimalModelBinderTest.cs
    │   │   │   ├── DictionaryModelBinderProviderTest.cs
    │   │   │   ├── DictionaryModelBinderTest.cs
    │   │   │   ├── DoubleModelBinderTest.cs
    │   │   │   ├── EnumTypeModelBinderProviderTest.cs
    │   │   │   ├── EnumTypeModelBinderTest.cs
    │   │   │   ├── FloatModelBinderTest.cs
    │   │   │   ├── FloatingPointTypeModelBinderProviderTest.cs
    │   │   │   ├── FloatingPointTypeModelBinderTestOfT.cs
    │   │   │   ├── FormCollectionModelBinderProviderTest.cs
    │   │   │   ├── FormCollectionModelBinderTest.cs
    │   │   │   ├── FormFileModelBinderProviderTest.cs
    │   │   │   ├── FormFileModelBinderTest.cs
    │   │   │   ├── HeaderModelBinderProviderTest.cs
    │   │   │   ├── HeaderModelBinderTests.cs
    │   │   │   ├── KeyValuePairModelBinderProviderTest.cs
    │   │   │   ├── KeyValuePairModelBinderTest.cs
    │   │   │   ├── ServicesModelBinderProviderTest.cs
    │   │   │   ├── ServicesModelBinderTest.cs
    │   │   │   ├── SimpleTypeModelBinderProviderTest.cs
    │   │   │   └── SimpleTypeModelBinderTest.cs
    │   │   ├── BindingSourceValueProviderTest.cs
    │   │   ├── CompositeValueProviderTest.cs
    │   │   ├── DefaultModelBindingContextTest.cs
    │   │   ├── ElementalValueProviderTests.cs
    │   │   ├── EnumerableValueProviderTest.cs
    │   │   ├── FormValueProviderFactoryTest.cs
    │   │   ├── FormValueProviderTest.cs
    │   │   ├── JQueryFormValueProviderFactoryTest.cs
    │   │   ├── JQueryFormValueProviderTest.cs
    │   │   ├── JQueryQueryStringValueProviderFactoryTest.cs
    │   │   ├── JQueryQueryStringValueProviderTest.cs
    │   │   ├── Metadata
    │   │   │   ├── BindingSourceMetadataProviderTests.cs
    │   │   │   ├── BindingSourceTest.cs
    │   │   │   ├── CompositeBindingSourceTest.cs
    │   │   │   ├── DefaultBindingMetadataProviderTest.cs
    │   │   │   ├── DefaultModelMetadataProviderTest.cs
    │   │   │   ├── DefaultModelMetadataTest.cs
    │   │   │   ├── DefaultValidationMetadataProviderTest.cs
    │   │   │   ├── DisplayMetadataTest.cs
    │   │   │   ├── EmptyCompositeMetadataDetailsProvider.cs
    │   │   │   ├── ExcludeBindingMetadataProviderTest.cs
    │   │   │   ├── HasValidatorsValidationMetadataProviderTest.cs
    │   │   │   ├── MetadataDetailsProviderExtensionsTest.cs
    │   │   │   ├── ModelAttributesTest.cs
    │   │   │   ├── ModelBinderAttributeTest.cs
    │   │   │   └── ModelMetadataProviderExtensionsTest.cs
    │   │   ├── ModelBinderFactoryTest.cs
    │   │   ├── ModelBinderProviderExtensionsTest.cs
    │   │   ├── ModelBindingHelperTest.cs
    │   │   ├── ModelBindingResultTest.cs
    │   │   ├── ParameterBinderTest.cs
    │   │   ├── PrefixContainerTest.cs
    │   │   ├── QueryStringValueProviderFactoryTest.cs
    │   │   ├── QueryStringValueProviderTest.cs
    │   │   ├── ReferenceEqualityComparerTest.cs
    │   │   ├── RouteValueProviderTests.cs
    │   │   ├── StubModelBinder.cs
    │   │   ├── TestModelBinderProviderContext.cs
    │   │   ├── TestValueProvider.cs
    │   │   ├── UnsupportedContentTypeFilterTest.cs
    │   │   ├── Validation
    │   │   │   ├── ClientValidatorCacheTest.cs
    │   │   │   ├── CompositeModelValidatorProviderTest.cs
    │   │   │   ├── DefaultCollectionValidationStrategyTest.cs
    │   │   │   ├── DefaultComplexObjectValidationStrategyTest.cs
    │   │   │   ├── DefaultModelValidatorProviderTest.cs
    │   │   │   ├── DefaultObjectValidatorTests.cs
    │   │   │   ├── ExplicitIndexCollectionValidationStrategyTest.cs
    │   │   │   ├── ModelValidatorProviderExtensionsTest.cs
    │   │   │   ├── ShortFormDictionaryValidationStrategyTest.cs
    │   │   │   ├── ValidationStackTest.cs
    │   │   │   └── ValidatorCacheTest.cs
    │   │   └── ValueProviderFactoryExtensionsTest.cs
    │   ├── MvcCoreLoggerExtensionsTest.cs
    │   ├── MvcOptionsTest.cs
    │   ├── ObjectResultTests.cs
    │   ├── PhysicalFileResultTest.cs
    │   ├── ProducesAttributeTests.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── RedirectResultTest.cs
    │   ├── RedirectToActionResultTest.cs
    │   ├── RedirectToPageResultTest.cs
    │   ├── RedirectToRouteResultTest.cs
    │   ├── RequestFormLimitsAttributeTest.cs
    │   ├── RequireHttpsAttributeTests.cs
    │   ├── ResponseCacheAttributeTest.cs
    │   ├── Routing
    │   │   ├── AttributeRouteTest.cs
    │   │   ├── AttributeRoutingTest.cs
    │   │   ├── ConsumesMatcherPolicyTest.cs
    │   │   ├── ControllerLinkGeneratorExtensionsTest.cs
    │   │   ├── EndpointRoutingUrlHelperTest.cs
    │   │   ├── HttpMethodProviderAttributesTests.cs
    │   │   ├── KnownRouteValueConstraintTests.cs
    │   │   ├── MvcEndpointDataSourceTests.cs
    │   │   ├── MvcRouteHandlerTests.cs
    │   │   ├── PageLinkGeneratorExtensionsTest.cs
    │   │   ├── RoutePatternWriterTests.cs
    │   │   ├── RouteTemplateProviderAttributesTest.cs
    │   │   ├── UrlHelperBaseTest.cs
    │   │   ├── UrlHelperExtensionsTest.cs
    │   │   ├── UrlHelperTest.cs
    │   │   ├── UrlHelperTestBase.cs
    │   │   └── ViewEnginePathTest.cs
    │   ├── SerializableErrorTests.cs
    │   ├── ServiceFilterAttributeTest.cs
    │   ├── SignInResultTest.cs
    │   ├── SignOutResultTest.cs
    │   ├── TestApplicationPart.cs
    │   ├── TestFeatureProvider.cs
    │   ├── TypeFilterAttributeTest.cs
    │   ├── UnprocessableEntityObjectResultTests.cs
    │   ├── UnprocessableEntityResultTests.cs
    │   ├── ValidationProblemDetailsTest.cs
    │   ├── VirtualFileResultTest.cs
    │   └── xunit.runner.json
    ├── Microsoft.AspNetCore.Mvc.Core.TestCommon
    │   ├── ActivityReplacer.cs
    │   ├── CommonFilterTest.cs
    │   ├── CommonResourceInvokerTest.cs
    │   ├── LinkBuilder.cs
    │   ├── MediaTypeAssert.cs
    │   ├── Microsoft.AspNetCore.Mvc.Core.TestCommon.csproj
    │   ├── NonSeekableReadableStream.cs
    │   ├── RoutingResult.cs
    │   ├── SimpleValueProvider.cs
    │   ├── SimpleValueProviderFactory.cs
    │   ├── TestClientModelValidatorProvider.cs
    │   ├── TestHttpRequestStreamReaderFactory.cs
    │   ├── TestHttpResponseStreamWriterFactory.cs
    │   ├── TestModelBinderFactory.cs
    │   ├── TestModelMetadataProvider.cs
    │   ├── TestModelValidatorProvider.cs
    │   └── ValidationAttributeUtil.cs
    ├── Microsoft.AspNetCore.Mvc.Cors.Test
    │   ├── CorsApplicationModelProviderTest.cs
    │   ├── CorsAuthorizationFilterTest.cs
    │   ├── CorsHttpMethodActionConstraintTest.cs
    │   ├── DisableCorsAuthorizationFilterTest.cs
    │   └── Microsoft.AspNetCore.Mvc.Cors.Test.csproj
    ├── Microsoft.AspNetCore.Mvc.DataAnnotations.Test
    │   ├── CompareAttributeAdapterTest.cs
    │   ├── DataAnnotationsClientModelValidatorProviderTest.cs
    │   ├── DataAnnotationsMetadataProviderTest.cs
    │   ├── DataAnnotationsModelValidatorProviderTest.cs
    │   ├── DataAnnotationsModelValidatorTest.cs
    │   ├── DataMemberRequiredBindingMetadataProviderTest.cs
    │   ├── DataTypeClientModelValidatorProviderTest.cs
    │   ├── DefaultModelClientValidatorProviderTest.cs
    │   ├── FileExtensionsAttributeAdapterTest.cs
    │   ├── MaxLengthAttributeAdapterTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.DataAnnotations.Test.csproj
    │   ├── MinLengthAttributeAdapterTest.cs
    │   ├── ModelMetadataProviderTest.cs
    │   ├── ModelValidationResultComparer.cs
    │   ├── MvcDataAnnotationsMvcOptionsSetup.cs
    │   ├── NumericClientModelValidatorTest.cs
    │   ├── Properties
    │   │   └── Resources.Designer.cs
    │   ├── RangeAttributeAdapterTest.cs
    │   ├── RequiredAttributeAdapterTest.cs
    │   ├── Resources.resx
    │   ├── StringLengthAttributeAdapterTest.cs
    │   ├── TestModelNameProvider.cs
    │   ├── TestResources.cs
    │   ├── ValidatableObjectAdapterTest.cs
    │   ├── ValidationAttributeAdapterOfTAttributeTest.cs
    │   └── ValidationAttributeAdapterProviderTest.cs
    ├── Microsoft.AspNetCore.Mvc.Formatters.Json.Test
    │   ├── JsonInputFormatterTest.cs
    │   ├── JsonOutputFormatterTests.cs
    │   ├── JsonPatchInputFormatterTest.cs
    │   ├── JsonPatchOperationsArrayProviderTests.cs
    │   ├── JsonResultExecutorTest.cs
    │   ├── JsonResultTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.Formatters.Json.Test.csproj
    │   └── MvcJsonOptionsExtensionsTests.cs
    ├── Microsoft.AspNetCore.Mvc.Formatters.Xml.Test
    │   ├── DelegatingEnumerableTest.cs
    │   ├── DelegatingEnumeratorTest.cs
    │   ├── DependencyInjection
    │   │   ├── XmlDataContractSerializerMvcOptionsSetupTest.cs
    │   │   └── XmlSerializerMvcOptionsSetupTest.cs
    │   ├── EnumerableWrapperProviderFactoryTest.cs
    │   ├── EnumerableWrapperProviderTest.cs
    │   ├── FlushReportingStream.cs
    │   ├── Microsoft.AspNetCore.Mvc.Formatters.Xml.Test.csproj
    │   ├── Models
    │   │   ├── Person.cs
    │   │   └── PersonList.cs
    │   ├── PersonWrapper.cs
    │   ├── PersonWrapperProvider.cs
    │   ├── PersonWrapperProviderFactory.cs
    │   ├── ProblemDetails21WrapperTest.cs
    │   ├── ProblemDetailsWrapperProviderFactoryTest.cs
    │   ├── ProblemDetailsWrapperTest.cs
    │   ├── SerializableErrorWrapperProviderTest.cs
    │   ├── SerializableErrorWrapperTests.cs
    │   ├── SerializableWrapperProviderFactoryTest.cs
    │   ├── ValidationProblemDetails21WrapperTest.cs
    │   ├── ValidationProblemDetailsWrapperTest.cs
    │   ├── XmlAssert.cs
    │   ├── XmlAssertTest.cs
    │   ├── XmlDataContractSerializerInputFormatterTest.cs
    │   ├── XmlDataContractSerializerOutputFormatterTest.cs
    │   ├── XmlSerializerInputFormatterTest.cs
    │   └── XmlSerializerOutputFormatterTest.cs
    ├── Microsoft.AspNetCore.Mvc.FunctionalTests
    │   ├── AntiforgeryAuthTests.cs
    │   ├── AntiforgeryTestHelper.cs
    │   ├── AntiforgeryTests.cs
    │   ├── ApiBehaviorTest.cs
    │   ├── ApiExplorerTest.cs
    │   ├── ApplicationModelTest.cs
    │   ├── AsyncActionsTests.cs
    │   ├── BasicApiTest.cs
    │   ├── BasicTests.cs
    │   ├── BasicViewsTest.cs
    │   ├── CompilationOptionsTests.cs
    │   ├── ConsumesAttributeEndpointRoutingTests.cs
    │   ├── ConsumesAttributeTests.cs
    │   ├── ConsumesAttributeTestsBase.cs
    │   ├── ContentNegotiationTest.cs
    │   ├── ControllerFromServicesTests.cs
    │   ├── CorsEndpointRoutingTests.cs
    │   ├── CorsTests.cs
    │   ├── CorsTestsBase.cs
    │   ├── DataAnnotationTests.cs
    │   ├── DefaultValuesTest.cs
    │   ├── DirectivesTest.cs
    │   ├── DoNotRespectBrowserAcceptHeaderTests.cs
    │   ├── ErrorPageTests.cs
    │   ├── ExceptionInfo.cs
    │   ├── FileResultTests.cs
    │   ├── FiltersTest.cs
    │   ├── FlushPointTest.cs
    │   ├── FormFileUploadTest.cs
    │   ├── GlobalAuthorizationFilterTest.cs
    │   ├── HtmlGenerationTest.cs
    │   ├── HtmlGenerationWithCultureTest.cs
    │   ├── HtmlHelperOptionsTest.cs
    │   ├── Infrastructure
    │   │   ├── BasicApiFixture.cs
    │   │   ├── BasicViewsFixture.cs
    │   │   ├── CultureReplacerMiddleware.cs
    │   │   ├── CultureReplacerStartupFilter.cs
    │   │   ├── HttpClientExtensions.cs
    │   │   ├── IHtmlDocumentExtensions.cs
    │   │   ├── MvcEncodedTestFixtureOfT.cs
    │   │   ├── MvcTestFixture.cs
    │   │   ├── MvcWebApplicationBuilderExtensions.cs
    │   │   ├── ResourceFile.cs
    │   │   └── TestCulture.cs
    │   ├── InputFormatterTests.cs
    │   ├── InputObjectValidationTests.cs
    │   ├── InputValidationTests.cs
    │   ├── JsonOutputFormatterTests.cs
    │   ├── JsonPatchInputFormatterTest.cs
    │   ├── JsonResultTest.cs
    │   ├── LinkGenerationTests.cs
    │   ├── LinkGeneratorTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.FunctionalTests.csproj
    │   ├── MvcSandboxTest.cs
    │   ├── OutputFormatterTest.cs
    │   ├── RazorBuildTest.cs
    │   ├── RazorPageModelTest.cs
    │   ├── RazorPagesNamespaceTest.cs
    │   ├── RazorPagesTest.cs
    │   ├── RazorPagesViewSearchTest.cs
    │   ├── RazorPagesWithBasePathTest.cs
    │   ├── RazorViewLocationSpecificationTest.cs
    │   ├── RemoteAttributeValidationTest.cs
    │   ├── RequestFormLimitsTest.cs
    │   ├── RequestServicesEndpointRoutingTest.cs
    │   ├── RequestServicesTest.cs
    │   ├── RequestServicesTestBase.cs
    │   ├── RequestSizeLimitTest.cs
    │   ├── RespectBrowserAcceptHeaderTests.cs
    │   ├── RoutingEndpointRoutingTest.cs
    │   ├── RoutingEndpointRoutingWithoutRazorPagesTests.cs
    │   ├── RoutingTests.cs
    │   ├── RoutingTestsBase.cs
    │   ├── RoutingWithoutRazorPagesTests.cs
    │   ├── RoutingWithoutRazorPagesTestsBase.cs
    │   ├── SerializableErrorTests.cs
    │   ├── SimpleTests.cs
    │   ├── StreamOutputFormatterTest.cs
    │   ├── TagHelperComponentTagHelperTest.cs
    │   ├── TagHelpersFromServicesTest.cs
    │   ├── TagHelpersTest.cs
    │   ├── TempDataInCookiesTest.cs
    │   ├── TempDataInCookiesUsingCookieConsentTest.cs
    │   ├── TempDataInSessionTest.cs
    │   ├── TempDataPropertyTest.cs
    │   ├── TempDataTestBase.cs
    │   ├── TestingInfrastructureInheritanceTests.cs
    │   ├── TestingInfrastructureTests.cs
    │   ├── UrlResolutionTest.cs
    │   ├── VersioningEndpointRoutingTests.cs
    │   ├── VersioningTests.cs
    │   ├── VersioningTestsBase.cs
    │   ├── ViewComponentFromServicesTests.cs
    │   ├── ViewEngineTests.cs
    │   ├── XmlDataContractSerializerFormattersWrappingTest.cs
    │   ├── XmlDataContractSerializerInputFormatterTest.cs
    │   ├── XmlOutputFormatterTests.cs
    │   ├── XmlSerializerFormattersWrappingTest.cs
    │   ├── XmlSerializerInputFormatterTests.cs
    │   ├── compiler
    │   │   └── resources
    │   │   │   ├── BasicWebSite.Area1.RemoteAttribute_Home.Create.html
    │   │   │   ├── BasicWebSite.Home.ActionLinkView.html
    │   │   │   ├── BasicWebSite.Home.CSharp7View.html
    │   │   │   ├── BasicWebSite.Home.Index.html
    │   │   │   ├── BasicWebSite.Home.PlainView.html
    │   │   │   ├── BasicWebSite.Home.ViewWithPrefixedAttributeValue.html
    │   │   │   ├── BasicWebSite.PassThrough.Index.html
    │   │   │   ├── BasicWebSite.Root.RemoteAttribute_Home.Create.html
    │   │   │   ├── CacheTagHelper_CanCachePortionsOfViewsPartialViewsAndViewComponents.Assert1.txt
    │   │   │   ├── CacheTagHelper_CanCachePortionsOfViewsPartialViewsAndViewComponents.Assert2.txt
    │   │   │   ├── CacheTagHelper_CanCachePortionsOfViewsPartialViewsAndViewComponents.Assert3.txt
    │   │   │   ├── HtmlGenerationWebSite.CheckViewData.AtViewModel.html
    │   │   │   ├── HtmlGenerationWebSite.CheckViewData.NullViewModel.html
    │   │   │   ├── HtmlGenerationWebSite.CheckViewData.ViewModel.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Customer.Index.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.AttributesWithBooleanValues.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.AttributesWithBooleanValues.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.CreateWarehouse.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Customer.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.EditWarehouse.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.EditWarehouse.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.EmployeeList.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Environment.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Form.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Image.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Index.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Index.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Index21Compat.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Input.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Link.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Link.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Order.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Order.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.OrderUsingHtmlHelpers.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.OrderUsingHtmlHelpers.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.PartialTagHelperWithoutModel.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Product.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Product.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.ProductList.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.ProductListUsingTagHelpers.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.ProductListUsingTagHelpersWithNullModel.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Script.Encoded.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Script.html
    │   │   │   ├── HtmlGenerationWebSite.HtmlGeneration_Home.Warehouse.html
    │   │   │   ├── ModelBindingWebSite.Vehicle.Details.html
    │   │   │   ├── ModelBindingWebSite.Vehicle.Edit.Invalid.html
    │   │   │   ├── ModelBindingWebSite.Vehicle.Edit.html
    │   │   │   ├── RazorPagesWebSite.SimpleForms.html
    │   │   │   ├── RazorWebSite.AddTagHelperComponent.AddComponent.html
    │   │   │   ├── RazorWebSite.TagHelperComponent.Body.html
    │   │   │   ├── RazorWebSite.TagHelperComponent.Head.html
    │   │   │   ├── RazorWebSite.UrlResolution.Index.Encoded.html
    │   │   │   ├── RazorWebSite.UrlResolution.Index.html
    │   │   │   ├── TagHelpersWebSite.Employee.Create.Invalid.html
    │   │   │   ├── TagHelpersWebSite.Employee.Create.html
    │   │   │   ├── TagHelpersWebSite.Employee.Details.AfterCreate.html
    │   │   │   ├── TagHelpersWebSite.Employee.DuplicateAntiforgeryTokenRegistration.html
    │   │   │   ├── TagHelpersWebSite.Encoders.CustomEncoder.html
    │   │   │   ├── TagHelpersWebSite.Encoders.Index.html
    │   │   │   ├── TagHelpersWebSite.Encoders.NullEncoder.html
    │   │   │   ├── TagHelpersWebSite.Encoders.ThreeEncoders.html
    │   │   │   ├── TagHelpersWebSite.Encoders.TwoEncoders.html
    │   │   │   ├── TagHelpersWebSite.Home.About.html
    │   │   │   ├── TagHelpersWebSite.Home.Help.html
    │   │   │   ├── TagHelpersWebSite.Home.Index.html
    │   │   │   ├── TagHelpersWebSite.Home.UnboundDynamicAttributes.Encoded.html
    │   │   │   ├── TagHelpersWebSite.Home.UnboundDynamicAttributes.html
    │   │   │   ├── TagHelpersWebSite.Home.ViewComponentTagHelpers.html
    │   │   │   ├── UpdateDealerVehicle_PopulatesPropertyErrorsInViews.txt
    │   │   │   ├── UpdateDealerVehicle_PopulatesValidationSummary.txt
    │   │   │   ├── UpdateDealerVehicle_UpdateSuccessful.txt
    │   │   │   └── ViewEngineController.ViewWithPaths.txt
    │   └── xunit.runner.json
    ├── Microsoft.AspNetCore.Mvc.IntegrationTests
    │   ├── ActionParametersIntegrationTest.cs
    │   ├── ArrayModelBinderIntegrationTest.cs
    │   ├── AuthorizeFilterIntegrationTest.cs
    │   ├── BindPropertyIntegrationTest.cs
    │   ├── BinderTypeBasedModelBinderIntegrationTest.cs
    │   ├── BindingSourceMetadataProviderIntegrationTest.cs
    │   ├── BodyValidationIntegrationTests.cs
    │   ├── ByteArrayModelBinderIntegrationTest.cs
    │   ├── CancellationTokenModelBinderIntegrationTest.cs
    │   ├── CollectionModelBinderIntegrationTest.cs
    │   ├── CompanyNameAttribute.cs
    │   ├── ComplexTypeModelBinderIntegrationTest.cs
    │   ├── DictionaryModelBinderIntegrationTest.cs
    │   ├── ExcludeBindingMetadataProviderIntegrationTest.cs
    │   ├── FormCollectionModelBindingIntegrationTest.cs
    │   ├── FormFileModelBindingIntegrationTest.cs
    │   ├── GenericModelBinderIntegrationTest.cs
    │   ├── HasValidatorsValidationMetadataProviderIntegrationTest.cs
    │   ├── HeaderModelBinderIntegrationTest.cs
    │   ├── JQueryFormatModelBindingIntegrationTest.cs
    │   ├── KeyValuePairModelBinderIntegrationTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.IntegrationTests.csproj
    │   ├── ModelBindingTestContext.cs
    │   ├── ModelBindingTestHelper.cs
    │   ├── ModelPrefixSelectionIntegrationTest.cs
    │   ├── Models
    │   │   ├── Product.cs
    │   │   ├── ProductDetails.cs
    │   │   ├── ProductViewModel.cs
    │   │   ├── Software.cs
    │   │   └── SoftwareViewModel.cs
    │   ├── ParameterBinderExtensions.cs
    │   ├── ProductValidatorAttribute.cs
    │   ├── ServicesModelBinderIntegrationTest.cs
    │   ├── SimpleTypeModelBinderIntegrationTest.cs
    │   ├── TestMvcOptions.cs
    │   ├── TryUpdateModelIntegrationTest.cs
    │   ├── TryValidateModelIntegrationTest.cs
    │   └── ValidationIntegrationTests.cs
    ├── Microsoft.AspNetCore.Mvc.Localization.Test
    │   ├── HtmlLocalizerOfTTest.cs
    │   ├── HtmlLocalizerTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.Localization.Test.csproj
    │   ├── MvcLocalizationMvcBuilderExtensionsTest.cs
    │   ├── MvcLocalizationMvcCoreBuilderExtensionsTest.cs
    │   ├── MvcLocalizationServiceCollectionExtensionsTest.cs
    │   ├── TestStringLocalizer.cs
    │   └── ViewLocalizerTest.cs
    ├── Microsoft.AspNetCore.Mvc.Razor.Test
    │   ├── ApplicationParts
    │   │   └── RazorCompiledItemFeatureProviderTest.cs
    │   ├── Compilation
    │   │   ├── DefaultRazorPageFactoryProviderTest.cs
    │   │   ├── RazorPagePropertyActivatorTest.cs
    │   │   ├── RazorViewCompilerTest.cs
    │   │   └── ViewsFeatureProviderTest.cs
    │   ├── DefaultTagHelperFactoryTest.cs
    │   ├── DependencyInjection
    │   │   ├── MvcRazorMvcBuilderExtensionsTest.cs
    │   │   └── MvcRazorMvcCoreBuilderExtensionsTest.cs
    │   ├── Infrastructure
    │   │   └── DefaultTagHelperActivatorTest.cs
    │   ├── LanguageViewLocationExpanderTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.Razor.Test.csproj
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   ├── RazorFileHierarchyTest.cs
    │   ├── RazorPageActivatorTest.cs
    │   ├── RazorPageCreateModelExpressionTest.cs
    │   ├── RazorPageCreateTagHelperTest.cs
    │   ├── RazorPageTest.cs
    │   ├── RazorViewEngineOptionsTest.cs
    │   ├── RazorViewEngineTest.cs
    │   ├── RazorViewTest.cs
    │   ├── TagHelpers
    │   │   ├── TagHelperComponentPropertyActivatorTest.cs
    │   │   ├── TagHelperComponentTagHelperTest.cs
    │   │   └── UrlResolutionTagHelperTest.cs
    │   ├── TestApplicationPart.cs
    │   ├── ViewPathTest.cs
    │   └── xunit.runner.json
    ├── Microsoft.AspNetCore.Mvc.RazorPages.Test
    │   ├── ApplicationModels
    │   │   ├── AuthorizationPageApplicationModelProviderTest.cs
    │   │   ├── CompiledPageActionDescriptorBuilderTest.cs
    │   │   ├── CompiledPageRouteModelProviderTest.cs
    │   │   ├── DefaultPageApplicationModelProviderTest.cs
    │   │   ├── PageConventionCollectionTest.cs
    │   │   ├── PageRouteModelFactoryTest.cs
    │   │   ├── PageRouteTransformerConventionTest.cs
    │   │   ├── ResponseCacheFilterApplicationModelProviderTest.cs
    │   │   ├── TempDataFilterPageApplicationModelProviderTest.cs
    │   │   └── ViewDataAttributePageApplicationModelProviderTest.cs
    │   ├── DependencyInjection
    │   │   ├── MvcRazorPagesMvcBuilderExtensionsTest.cs
    │   │   ├── PageConventionCollectionExtensionsTest.cs
    │   │   └── RazorPagesRazorViewEngineOptionsSetupTest.cs
    │   ├── Filters
    │   │   ├── AutoValidateAntiforgeryPageApplicationModelProviderTest.cs
    │   │   ├── PageHandlerResultFilterTest.cs
    │   │   ├── PageSaveTempDataPropertyFilterFactoryTest.cs
    │   │   ├── PageSaveTempDataPropertyFilterTest.cs
    │   │   ├── PageViewDataAttributeFilterFactoryTest.cs
    │   │   └── PageViewDataAttributeFilterTest.cs
    │   ├── Infrastructure
    │   │   ├── DefaultPageActivatorProviderTest.cs
    │   │   ├── DefaultPageFactoryProviderTest.cs
    │   │   ├── DefaultPageHandlerMethodSelectorTest.cs
    │   │   ├── DefaultPageLoaderTest.cs
    │   │   ├── DefaultPageModelActivatorProviderTest.cs
    │   │   ├── DefaultPageModelFactoryProviderTest.cs
    │   │   ├── DisallowOptionsRequestsPageFilterTest.cs
    │   │   ├── ExecutorFactoryTest.cs
    │   │   ├── PageActionDescriptorProviderTest.cs
    │   │   ├── PageActionInvokerProviderTest.cs
    │   │   ├── PageActionInvokerTest.cs
    │   │   ├── PageBinderFactoryTest.cs
    │   │   ├── PageHandlerPageFilterTest.cs
    │   │   ├── PageViewLocationExpanderTest.cs
    │   │   └── ServiceBasedPageModelActivatorProviderTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.RazorPages.Test.csproj
    │   ├── PageModelTest.cs
    │   └── PageTest.cs
    ├── Microsoft.AspNetCore.Mvc.TagHelpers.Test
    │   ├── AnchorTagHelperTest.cs
    │   ├── AttributeMatcherTest.cs
    │   ├── CacheTagHelperTest.cs
    │   ├── CacheTagKeyTest.cs
    │   ├── DefaultFileVersionProviderTest.cs
    │   ├── DefaultTagHelperActivatorTest.cs
    │   ├── DistributedCacheTagHelperTest.cs
    │   ├── EnvironmentTagHelperTest.cs
    │   ├── FormActionTagHelperTest.cs
    │   ├── FormTagHelperTest.cs
    │   ├── GlobbingUrlBuilderTest.cs
    │   ├── ImageTagHelperTest.cs
    │   ├── InputTagHelperTest.cs
    │   ├── JavaScriptResourcesTest.cs
    │   ├── LabelTagHelperTest.cs
    │   ├── LinkTagHelperTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.TagHelpers.Test.csproj
    │   ├── OptionTagHelperTest.cs
    │   ├── PartialTagHelperTest.cs
    │   ├── RenderAtEndOfFormTagHelperTest.cs
    │   ├── ScriptTagHelperTest.cs
    │   ├── SelectTagHelperTest.cs
    │   ├── TagHelperLogger.cs
    │   ├── TagHelperOutputExtensionsTest.cs
    │   ├── TestableHtmlGenerator.cs
    │   ├── TextAreaTagHelperTest.cs
    │   ├── ValidationMessageTagHelperTest.cs
    │   └── ValidationSummaryTagHelperTest.cs
    ├── Microsoft.AspNetCore.Mvc.Test
    │   ├── ApplicationParts
    │   │   └── ApplicationAssembliesProviderTest.cs
    │   ├── IntegrationTest
    │   │   └── CompatibilitySwitchIntegrationTest.cs
    │   ├── JsonPatchExtensionsTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.Test.csproj
    │   ├── MvcOptionsSetupTest.cs
    │   ├── MvcServiceCollectionExtensionsTest.cs
    │   ├── Routing
    │   │   └── ActionConstraintMatcherPolicyTest.cs
    │   └── xunit.runner.json
    ├── Microsoft.AspNetCore.Mvc.TestDiagnosticListener
    │   ├── IProxyActionContext.cs
    │   ├── IProxyActionDescriptor.cs
    │   ├── IProxyActionResult.cs
    │   ├── IProxyHttpContext.cs
    │   ├── IProxyPage.cs
    │   ├── IProxyRouteData.cs
    │   ├── IProxyView.cs
    │   ├── IProxyViewComponentContext.cs
    │   ├── IProxyViewComponentResult.cs
    │   ├── IProxyViewContext.cs
    │   ├── Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj
    │   └── TestDiagnosticListener.cs
    ├── Microsoft.AspNetCore.Mvc.ViewFeatures.Test
    │   ├── AntiforgeryExtensionsTest.cs
    │   ├── AttributeDictionaryTest.cs
    │   ├── Buffers
    │   │   ├── PagedBufferedTextWriterTest.cs
    │   │   ├── PagedCharBufferTest.cs
    │   │   ├── ViewBufferTest.cs
    │   │   └── ViewBufferTextWriterTest.cs
    │   ├── CachedExpressionCompilerTest.cs
    │   ├── ControllerTest.cs
    │   ├── ControllerUnitTestabilityTests.cs
    │   ├── CookieTempDataProviderTest.cs
    │   ├── DefaultDisplayTemplatesTest.cs
    │   ├── DefaultEditorTemplatesTest.cs
    │   ├── DefaultHtmlGeneratorTest.cs
    │   ├── DefaultValidationHtmlAttributeProviderTest.cs
    │   ├── DependencyInjection
    │   │   ├── MvcViewFeaturesMvcBuilderExtensionsTest.cs
    │   │   └── MvcViewFeaturesMvcCoreBuilderExtensionsTest.cs
    │   ├── ExpressionHelperTest.cs
    │   ├── ExpressionMetadataProviderTest.cs
    │   ├── Filters
    │   │   ├── AutoValidateAntiforgeryTokenAuthorizationFilterTest.cs
    │   │   ├── ControllerSaveTempDataPropertyFilterFactoryTest.cs
    │   │   ├── ControllerSaveTempDataPropertyFilterTest.cs
    │   │   ├── ControllerViewDataAttributeFilterFactoryTest.cs
    │   │   ├── ControllerViewDataAttributeFilterTest.cs
    │   │   ├── LifecyclePropertyTest.cs
    │   │   ├── SaveTempDataFilterTest.cs
    │   │   ├── TempDataApplicationModelProviderTest.cs
    │   │   ├── TempDataSerializerTest.cs
    │   │   ├── ValidateAntiforgeryTokenAuthorizationFilterTest.cs
    │   │   ├── ViewDataAttributeApplicationModelProviderTest.cs
    │   │   └── ViewDataAttributePropertyProviderTest.cs
    │   ├── FormatWeekHelperTest.cs
    │   ├── HtmlAttributePropertyHelperTest.cs
    │   ├── JsonHelperTest.cs
    │   ├── MemberExpressionCacheKeyComparerTest.cs
    │   ├── MemberExpressionCacheKeyTest.cs
    │   ├── Microsoft.AspNetCore.Mvc.ViewFeatures.Test.csproj
    │   ├── Model
    │   │   ├── Constants.cs
    │   │   └── Model.cs
    │   ├── ModelExplorerExtensionsTest.cs
    │   ├── ModelExplorerTest.cs
    │   ├── ModelStateDictionaryExtensionsTest.cs
    │   ├── PageRemoteAttributeTest.cs
    │   ├── PartialViewResultExecutorTest.cs
    │   ├── PartialViewResultTest.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   └── Resources.Designer.cs
    │   ├── RemoteAttributeBaseTest.cs
    │   ├── RemoteAttributeTest.cs
    │   ├── Rendering
    │   │   ├── DefaultTemplatesUtilities.cs
    │   │   ├── HtmlHelperCheckboxTest.cs
    │   │   ├── HtmlHelperDisplayExtensionsTest.cs
    │   │   ├── HtmlHelperDisplayNameExtensionsTest.cs
    │   │   ├── HtmlHelperDisplayTextTest.cs
    │   │   ├── HtmlHelperDropDownListExtensionsTest.cs
    │   │   ├── HtmlHelperEditorExtensionsTest.cs
    │   │   ├── HtmlHelperFormExtensionsTest.cs
    │   │   ├── HtmlHelperFormTest.cs
    │   │   ├── HtmlHelperHiddenTest.cs
    │   │   ├── HtmlHelperLabelExtensionsTest.cs
    │   │   ├── HtmlHelperLinkGenerationTest.cs
    │   │   ├── HtmlHelperListBoxExtensionsTest.cs
    │   │   ├── HtmlHelperNameExtensionsTest.cs
    │   │   ├── HtmlHelperPartialExtensionsTest.cs
    │   │   ├── HtmlHelperPasswordTest.cs
    │   │   ├── HtmlHelperRadioButtonExtensionsTest.cs
    │   │   ├── HtmlHelperSelectTest.cs
    │   │   ├── HtmlHelperTest.cs
    │   │   ├── HtmlHelperTextAreaExtensionsTest.cs
    │   │   ├── HtmlHelperTextAreaTest.cs
    │   │   ├── HtmlHelperTextBoxExtensionsTest.cs
    │   │   ├── HtmlHelperTextBoxTest.cs
    │   │   ├── HtmlHelperValidationMessageExtensionsTest.cs
    │   │   ├── HtmlHelperValidationSummaryTest.cs
    │   │   ├── HtmlHelperValueExtensionsTest.cs
    │   │   ├── HtmlHelperValueTest.cs
    │   │   ├── HtmlStringTest.cs
    │   │   ├── TagBuilderTest.cs
    │   │   ├── TestResources.cs
    │   │   └── ViewContextTests.cs
    │   ├── Resources.resx
    │   ├── SessionStateTempDataProviderTest.cs
    │   ├── SkipStatusCodePagesAttributeTest.cs
    │   ├── StringHtmlContentTest.cs
    │   ├── TempDataDictionaryFactoryTest.cs
    │   ├── TempDataDictionaryTest.cs
    │   ├── TemplateRendererTest.cs
    │   ├── TestApplicationPart.cs
    │   ├── ViewComponentResultTest.cs
    │   ├── ViewComponentTests.cs
    │   ├── ViewComponents
    │   │   ├── ContentViewComponentResultTest.cs
    │   │   ├── DefaultViewComponentActivatorTests.cs
    │   │   ├── DefaultViewComponentDescriptorProviderTest.cs
    │   │   ├── DefaultViewComponentFactoryTest.cs
    │   │   ├── DefaultViewComponentHelperTest.cs
    │   │   ├── DefaultViewComponentSelectorTest.cs
    │   │   ├── HtmlContentViewComponentResultTest.cs
    │   │   ├── ViewComponentContextTest.cs
    │   │   ├── ViewComponentConventionsTest.cs
    │   │   ├── ViewComponentFeatureProviderTest.cs
    │   │   └── ViewViewComponentResultTest.cs
    │   ├── ViewDataDictionaryOfTModelTest.cs
    │   ├── ViewDataDictionaryTest.cs
    │   ├── ViewDataOfTTest.cs
    │   ├── ViewEngines
    │   │   └── CompositeViewEngineTest.cs
    │   ├── ViewExecutorTest.cs
    │   ├── ViewResultExecutorTest.cs
    │   └── ViewResultTest.cs
    ├── Microsoft.AspNetCore.Mvc.Views.TestCommon
    │   ├── HtmlContentUtilities.cs
    │   ├── HtmlGeneratorUtilities.cs
    │   ├── Microsoft.AspNetCore.Mvc.Views.TestCommon.csproj
    │   ├── TestDirectoryContent.cs
    │   ├── TestDirectoryFileInfo.cs
    │   ├── TestFileChangeToken.cs
    │   ├── TestFileInfo.cs
    │   ├── TestFileProvider.cs
    │   ├── TestRazorCompiledItem.cs
    │   └── TestViewBufferScope.cs
    ├── Mvc.Analyzers.Test
    │   ├── AttributesShouldNotBeAppliedToPageModelAnalyzerTest.cs
    │   ├── AvoidHtmlPartialAnalyzerTest.cs
    │   ├── CodeAnalysisExtensionsTest.cs
    │   ├── Infrastructure
    │   │   ├── MvcDiagnosticAnalyzerRunner.cs
    │   │   └── MvcTestSource.cs
    │   ├── Mvc.Analyzers.Test.csproj
    │   ├── TestFiles
    │   │   ├── AttributesShouldNotBeAppliedToPageModelAnalyzerTest
    │   │   │   ├── DiagnosticsAreReturned_IfAllowAnonymousIsAppliedToPageHandlerMethod.cs
    │   │   │   ├── DiagnosticsAreReturned_IfAttributeIsAppliedToBaseType.cs
    │   │   │   ├── DiagnosticsAreReturned_IfAuthorizeAttributeIsAppliedToPageHandlerMethod.cs
    │   │   │   ├── DiagnosticsAreReturned_IfFiltersAreAppliedToPageHandlerMethod.cs
    │   │   │   ├── DiagnosticsAreReturned_IfFiltersAreAppliedToPageHandlerMethodDerivingFromCustomModel.cs
    │   │   │   ├── DiagnosticsAreReturned_IfFiltersAreAppliedToPageHandlerMethodForTypeWithPageModelAttribute.cs
    │   │   │   ├── DiagnosticsAreReturned_IfRouteAttribute_IsAppliedToPageModel.cs
    │   │   │   ├── DiagnosticsAreReturned_IfRouteAttributesAreAppliedToPageHandlerMethod.cs
    │   │   │   ├── NoDiagnosticsAreReturned_ForControllerActions.cs
    │   │   │   ├── NoDiagnosticsAreReturned_ForControllerBaseActions.cs
    │   │   │   ├── NoDiagnosticsAreReturned_ForNonHandlerMethodsWithAttributes.cs
    │   │   │   ├── NoDiagnosticsAreReturned_ForPageHandlersWithNonFilterAttributes.cs
    │   │   │   ├── NoDiagnosticsAreReturned_IfAllowAnonymousIsAppliedToPageModel.cs
    │   │   │   ├── NoDiagnosticsAreReturned_IfAuthorizeAttributeIsAppliedToPageModel.cs
    │   │   │   └── NoDiagnosticsAreReturned_IfFiltersAreAppliedToPageModel.cs
    │   │   ├── AvoidHtmlPartialAnalyzerTest
    │   │   │   ├── DiagnosticsAreReturned_ForUseOfHtmlPartial.cs
    │   │   │   ├── DiagnosticsAreReturned_ForUseOfHtmlPartial_InSections.cs
    │   │   │   ├── DiagnosticsAreReturned_ForUseOfHtmlPartial_WithAdditionalParameters.cs
    │   │   │   ├── DiagnosticsAreReturned_ForUseOfRenderPartial.cs
    │   │   │   ├── DiagnosticsAreReturned_ForUseOfRenderPartial_InSections.cs
    │   │   │   ├── DiagnosticsAreReturned_ForUseOfRenderPartial_WithAdditionalParameters.cs
    │   │   │   ├── NoDiagnosticsAreReturned_ForNonUseOfHtmlPartial.cs
    │   │   │   ├── NoDiagnosticsAreReturned_ForUseOfHtmlPartialAsync.cs
    │   │   │   └── NoDiagnosticsAreReturned_ForUseOfRenderPartialAsync.cs
    │   │   ├── CodeAnalysisExtensionsTest
    │   │   │   ├── GetAttributes_BaseTypeWithAttributes.cs
    │   │   │   ├── GetAttributes_OnMethodWithoutAttributes.cs
    │   │   │   ├── GetAttributes_OnTypeWithAttributes.cs
    │   │   │   ├── GetAttributes_OnTypeWithoutAttributes.cs
    │   │   │   ├── GetAttributes_WithMethodOverridding.cs
    │   │   │   ├── GetAttributes_WithNewMethod.cs
    │   │   │   ├── GetAttributes_WithoutMethodOverriding.cs
    │   │   │   ├── HasAttribute_ReturnsFalseIfSymbolDoesNotHaveAttribute.cs
    │   │   │   ├── HasAttribute_ReturnsTrueForAttributesOnMethods.cs
    │   │   │   ├── HasAttribute_ReturnsTrueForAttributesOnOverriddenMethods.cs
    │   │   │   ├── HasAttribute_ReturnsTrueForAttributesOnOverridenProperties.cs
    │   │   │   ├── HasAttribute_ReturnsTrueForAttributesOnProperties.cs
    │   │   │   ├── HasAttribute_ReturnsTrueForInterfaceContractOnAttribute.cs
    │   │   │   ├── HasAttribute_ReturnsTrueIfBaseTypeHasAttribute.cs
    │   │   │   ├── HasAttribute_ReturnsTrueIfTypeHasAttribute.cs
    │   │   │   ├── IsAssignable_ReturnsFalseForDifferentTypes.cs
    │   │   │   ├── IsAssignable_ReturnsTrueIfAncestorTypeImplementsInterface.cs
    │   │   │   ├── IsAssignable_ReturnsTrueIfTypeImplementsInterface.cs
    │   │   │   ├── IsAssignable_ReturnsTrueIfTypeIsBaseClass.cs
    │   │   │   └── IsAssignable_ReturnsTrueIfTypesAreExact.cs
    │   │   └── TopLevelParameterNameAnalyzerTest
    │   │   │   ├── DiagnosticsAreReturned_ForControllerActionsWithParametersThatMatchProperties.cs
    │   │   │   ├── DiagnosticsAreReturned_ForModelBoundParameters.cs
    │   │   │   ├── DiagnosticsAreReturned_IfModelNameProviderIsUsedToModifyParameterName.cs
    │   │   │   ├── GetNameTests.cs
    │   │   │   ├── IsProblematicParameter_IgnoresFields.cs
    │   │   │   ├── IsProblematicParameter_IgnoresMethods.cs
    │   │   │   ├── IsProblematicParameter_IgnoresNonPublicProperties.cs
    │   │   │   ├── IsProblematicParameter_IgnoresStaticProperties.cs
    │   │   │   ├── IsProblematicParameter_ReturnsFalse_ForFromBodyParameter.cs
    │   │   │   ├── IsProblematicParameter_ReturnsFalse_ForParametersWithCustomModelBinder.cs
    │   │   │   ├── IsProblematicParameter_ReturnsFalse_IfBindingSourceAttributeIsUsedToRenameParameter.cs
    │   │   │   ├── IsProblematicParameter_ReturnsFalse_IfBindingSourceAttributeIsUsedToRenameProperty.cs
    │   │   │   ├── IsProblematicParameter_ReturnsTrue_IfModelBinderAttributeIsUsedToRenameParameter.cs
    │   │   │   ├── IsProblematicParameter_ReturnsTrue_IfParameterNameIsTheSameAsModelProperty.cs
    │   │   │   ├── IsProblematicParameter_ReturnsTrue_IfParameterNameWithBinderAttributeIsTheSameNameAsModelProperty.cs
    │   │   │   ├── IsProblematicParameter_ReturnsTrue_IfPropertyWithModelBindingAttributeHasSameNameAsParameter.cs
    │   │   │   ├── NoDiagnosticsAreReturnedForApiControllers.cs
    │   │   │   ├── NoDiagnosticsAreReturnedForNonActions.cs
    │   │   │   ├── NoDiagnosticsAreReturnedIfParameterIsRenamedUsingBindingAttribute.cs
    │   │   │   └── SpecifiesModelTypeTests.cs
    │   ├── TopLevelParameterNameAnalyzerTest.cs
    │   └── xunit.runner.json
    ├── Mvc.Api.Analyzers.Test
    │   ├── ActualApiResponseMetadataFactoryTest.cs
    │   ├── AddResponseTypeAttributeCodeFixProviderIntegrationTest.cs
    │   ├── ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzerIntegrationTest.cs
    │   ├── ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest.cs
    │   ├── ApiControllerFactsTest.cs
    │   ├── ApiConventionAnalyzerIntegrationTest.cs
    │   ├── DeclaredApiResponseMetadataTest.cs
    │   ├── Mvc.Api.Analyzers.Test.csproj
    │   ├── MvcFactsTest.cs
    │   ├── SymbolApiConventionMatcherTest.cs
    │   ├── SymbolApiResponseMetadataProviderTest.cs
    │   └── TestFiles
    │   │   ├── ActualApiResponseMetadataFactoryTest
    │   │       ├── GetDefaultStatusCodeTest.cs
    │   │       ├── InspectReturnExpressionTests.cs
    │   │       └── TryGetActualResponseMetadataTests.cs
    │   │   ├── AddResponseTypeAttributeCodeFixProviderIntegrationTest
    │   │       ├── CodeFixAddsFullyQualifiedProducesResponseType.Input.cs
    │   │       ├── CodeFixAddsFullyQualifiedProducesResponseType.Output.cs
    │   │       ├── CodeFixAddsMissingStatusCodes.Input.cs
    │   │       ├── CodeFixAddsMissingStatusCodes.Output.cs
    │   │       ├── CodeFixAddsMissingStatusCodesAndTypes.Input.cs
    │   │       ├── CodeFixAddsMissingStatusCodesAndTypes.Output.cs
    │   │       ├── CodeFixAddsNumericLiteralForNonExistingStatusCodeConstants.Input.cs
    │   │       ├── CodeFixAddsNumericLiteralForNonExistingStatusCodeConstants.Output.cs
    │   │       ├── CodeFixAddsResponseTypeWhenDifferentFromErrorType.Input.cs
    │   │       ├── CodeFixAddsResponseTypeWhenDifferentFromErrorType.Output.cs
    │   │       ├── CodeFixAddsStatusCodes.Input.cs
    │   │       ├── CodeFixAddsStatusCodes.Output.cs
    │   │       ├── CodeFixAddsStatusCodesFromConstructorParameters.Input.cs
    │   │       ├── CodeFixAddsStatusCodesFromConstructorParameters.Output.cs
    │   │       ├── CodeFixAddsStatusCodesFromMethodParameters.Input.cs
    │   │       ├── CodeFixAddsStatusCodesFromMethodParameters.Output.cs
    │   │       ├── CodeFixAddsStatusCodesFromObjectInitializer.Input.cs
    │   │       ├── CodeFixAddsStatusCodesFromObjectInitializer.Output.cs
    │   │       ├── CodeFixAddsSuccessStatusCode.Input.cs
    │   │       ├── CodeFixAddsSuccessStatusCode.Output.cs
    │   │       ├── CodeFixWithConventionAddsMissingStatusCodes.Input.cs
    │   │       ├── CodeFixWithConventionAddsMissingStatusCodes.Output.cs
    │   │       ├── CodeFixWithConventionMethodAddsMissingStatusCodes.Input.cs
    │   │       └── CodeFixWithConventionMethodAddsMissingStatusCodes.Output.cs
    │   │   ├── ApiActionsDoNotRequireExplicitModelValidationCheckAnalyzerIntegrationTest
    │   │       ├── DiagnosticsAreReturned_ForApiActionsWithModelStateChecks.cs
    │   │       ├── DiagnosticsAreReturned_ForApiActionsWithModelStateChecksUsingEquality.cs
    │   │       ├── DiagnosticsAreReturned_ForApiActionsWithModelStateChecksWithoutBracing.cs
    │   │       ├── NoDiagnosticsAreReturned_ForApiActionsCheckingAdditionalConditions.cs
    │   │       ├── NoDiagnosticsAreReturned_ForApiActionsReturning400FromNonModelStateIsValidBlocks.cs
    │   │       ├── NoDiagnosticsAreReturned_ForApiActionsReturningNot400FromNonModelStateIsValidBlock.cs
    │   │       ├── NoDiagnosticsAreReturned_ForApiActionsWithoutModelStateChecks.cs
    │   │       ├── NoDiagnosticsAreReturned_ForNonApiController.cs
    │   │       └── NoDiagnosticsAreReturned_ForRazorPageModels.cs
    │   │   ├── ApiActionsDoNotRequireExplicitModelValidationCheckCodeFixProviderTest
    │   │       ├── CodeFixRemovesIfBlockWithoutBraces.Input.cs
    │   │       ├── CodeFixRemovesIfBlockWithoutBraces.Output.cs
    │   │       ├── CodeFixRemovesModelStateIsInvalidBlockWithEqualityCheck.Input.cs
    │   │       ├── CodeFixRemovesModelStateIsInvalidBlockWithEqualityCheck.Output.cs
    │   │       ├── CodeFixRemovesModelStateIsInvalidBlockWithIfNotCheck.Input.cs
    │   │       └── CodeFixRemovesModelStateIsInvalidBlockWithIfNotCheck.Output.cs
    │   │   ├── ApiControllerFactsTest
    │   │       ├── IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssembly.cs
    │   │       └── TestFile.cs
    │   │   ├── ApiConventionAnalyzerIntegrationTest
    │   │       ├── DiagnosticsAreReturned_ForActionResultOfTReturningMethodWithoutAnyAttributes.cs
    │   │       ├── DiagnosticsAreReturned_ForActionResultOfTReturningMethodWithoutSomeAttributes.cs
    │   │       ├── DiagnosticsAreReturned_ForControllerWithCustomConvention.cs
    │   │       ├── DiagnosticsAreReturned_IfAsyncMethodReturningValueTaskWithProducesResponseTypeAttribute_ReturnsUndocumentedStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfAsyncMethodWithProducesResponseTypeAttribute_ReturnsUndocumentedStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithApiConventionMethod_ReturnsUndocumentedStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithAttributeAsynchronouslyReturnsValue_WithoutDocumentation.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithAttributeReturnsValue_WithoutDocumentation.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithAttribute_ReturnsDerivedType.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithConvention_DoesNotReturnDocumentedStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithConvention_ReturnsUndocumentedStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithProducesResponseTypeAttribute_DoesNotDocumentSuccessStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithProducesResponseTypeAttribute_DoesNotReturnDocumentedStatusCode.cs
    │   │       ├── DiagnosticsAreReturned_IfMethodWithProducesResponseTypeAttribute_ReturnsUndocumentedStatusCode.cs
    │   │       ├── NoDiagnosticsAreReturned_ForApiController_IfStatusCodesCannotBeInferred.cs
    │   │       ├── NoDiagnosticsAreReturned_ForApiController_WithAllDocumentedStatusCodes.cs
    │   │       ├── NoDiagnosticsAreReturned_ForNonApiController.cs
    │   │       ├── NoDiagnosticsAreReturned_ForOkResultReturningAction.cs
    │   │       ├── NoDiagnosticsAreReturned_ForRazorPageModels.cs
    │   │       ├── NoDiagnosticsAreReturned_ForReturnStatementsInLambdas.cs
    │   │       └── NoDiagnosticsAreReturned_ForReturnStatementsInLocalFunctions.cs
    │   │   ├── MvcFactsTest
    │   │       ├── IsControllerActionTests.cs
    │   │       └── IsControllerTests.cs
    │   │   ├── SymbolApiConventionMatcherTest
    │   │       └── SymbolApiConventionMatcherTestFile.cs
    │   │   └── SymbolApiResponseMetadataProviderTest
    │   │       ├── GetErrorResponseType_ReturnsProblemDetails_IfNoAttributeIsDiscovered.cs
    │   │       ├── GetErrorResponseType_ReturnsTypeDefinedAtAction.cs
    │   │       ├── GetErrorResponseType_ReturnsTypeDefinedAtAssembly.cs
    │   │       ├── GetErrorResponseType_ReturnsTypeDefinedAtController.cs
    │   │       └── GetResponseMetadataTests.cs
    ├── MvcTests.ruleset
    └── WebSites
    │   ├── ApiExplorerWebSite
    │       ├── ActionDescriptorChangeProvider.cs
    │       ├── ApiExplorerDataFilter.cs
    │       ├── ApiExplorerInboundOutboundConvention.cs
    │       ├── ApiExplorerRouteChangeConvention.cs
    │       ├── ApiExplorerVisibilityDisabledConvention.cs
    │       ├── ApiExplorerVisibilityEnabledConvention.cs
    │       ├── ApiExplorerWebSite.csproj
    │       ├── Controllers
    │       │   ├── ApiExplorerApiController.cs
    │       │   ├── ApiExplorerHttpMethodController.cs
    │       │   ├── ApiExplorerInboundOutboundController.cs
    │       │   ├── ApiExplorerNameSetByConventionController.cs
    │       │   ├── ApiExplorerNameSetExplicitlyController.cs
    │       │   ├── ApiExplorerParametersController.cs
    │       │   ├── ApiExplorerReloadableController.cs
    │       │   ├── ApiExplorerResponseContentTypeController.cs
    │       │   ├── ApiExplorerResponseContentTypeOverrideOnActionController.cs
    │       │   ├── ApiExplorerResponseTypeOverrideOnActionController.cs
    │       │   ├── ApiExplorerResponseTypeWithApiConventionController.cs
    │       │   ├── ApiExplorerResponseTypeWithAttributeController.cs
    │       │   ├── ApiExplorerResponseTypeWithoutAttributeController.cs
    │       │   ├── ApiExplorerRouteAndPathParametersInformationController.cs
    │       │   ├── ApiExplorerVisibilityDisabledByConventionController.cs
    │       │   ├── ApiExplorerVisibilityEnabledByConventionController.cs
    │       │   └── ApiExplorerVisibilitySetExplicitlyController.cs
    │       ├── Models
    │       │   ├── Customer.cs
    │       │   ├── CustomerCommentsDTO.cs
    │       │   ├── OrderDTO.cs
    │       │   ├── OrderDetailsDTO.cs
    │       │   └── Product.cs
    │       ├── PassThruAttribute.cs
    │       ├── ReloadAttribute.cs
    │       ├── Startup.cs
    │       ├── WellKnownChangeToken.cs
    │       └── readme.md
    │   ├── ApplicationModelWebSite
    │       ├── ApplicationModelWebSite.csproj
    │       ├── Areas
    │       │   ├── Manage
    │       │   │   └── Views
    │       │   │   │   └── MultipleAreas
    │       │   │   │       └── Index.cshtml
    │       │   ├── Products
    │       │   │   └── Views
    │       │   │   │   └── MultipleAreas
    │       │   │   │       └── Index.cshtml
    │       │   └── Services
    │       │   │   └── Views
    │       │   │       └── MultipleAreas
    │       │   │           └── Index.cshtml
    │       ├── Controllers
    │       │   ├── ActionModelController.cs
    │       │   ├── ApplicationModelController.cs
    │       │   ├── ControllerModelController.cs
    │       │   ├── HomeController.cs
    │       │   ├── LicenseController.cs
    │       │   ├── MultipleAreasController.cs
    │       │   └── ParameterModelController.cs
    │       ├── Conventions
    │       │   ├── ActionDescriptionAttribute.cs
    │       │   ├── ApplicationDescription.cs
    │       │   ├── CloneActionAttribute.cs
    │       │   ├── CloneActionConvention.cs
    │       │   ├── ControllerDescriptionAttribute.cs
    │       │   ├── ControllerLicenseConvention.cs
    │       │   ├── FromHeaderConvention.cs
    │       │   ├── MultipleAreasAttribute.cs
    │       │   └── MultipleAreasControllerConvention.cs
    │       ├── Startup.cs
    │       ├── Views
    │       │   └── ActionModel
    │       │   │   ├── Help.cshtml
    │       │   │   └── MoreHelp.cshtml
    │       └── readme.md
    │   ├── BasicWebSite
    │       ├── ActionDescriptorCreationCounter.cs
    │       ├── Areas
    │       │   ├── Area1
    │       │   │   ├── Controllers
    │       │   │   │   ├── RemoteAttribute_HomeController.cs
    │       │   │   │   └── RemoteAttribute_VerifyController.cs
    │       │   │   └── Views
    │       │   │   │   └── RemoteAttribute_Home
    │       │   │   │       ├── Create.cshtml
    │       │   │   │       ├── Details.cshtml
    │       │   │   │       └── _Layout.cshtml
    │       │   └── Area2
    │       │   │   └── Controllers
    │       │   │       └── RemoteAttribute_VerifyController.cs
    │       ├── BasicAuthenticationHandler.cs
    │       ├── BasicWebSite.csproj
    │       ├── Components
    │       │   ├── PassThroughViewComponent.cs
    │       │   └── ViewDataViewComponent.cs
    │       ├── ConfigureAuthPolicies.cs
    │       ├── ContactsRepository.cs
    │       ├── Controllers
    │       │   ├── ActionConstraints
    │       │   │   ├── ConsumesAttribute_MediaTypeSuffix.cs
    │       │   │   ├── ConsumesAttribute_NoFallBackActionController.cs
    │       │   │   ├── ConsumesAttribute_OveridesBaseController.cs
    │       │   │   ├── ConsumesAttribute_OveridesController.cs
    │       │   │   ├── ConsumesAttribute_PassThroughController.cs
    │       │   │   └── ConsumesAttribute_WithFallbackActionController.cs
    │       │   ├── ActionResultOfTController.cs
    │       │   ├── AntiforgeryController.cs
    │       │   ├── AsyncActionsController.cs
    │       │   ├── AuthorizeUserController.cs
    │       │   ├── BindPropertiesController.cs
    │       │   ├── BindPropertiesSupportsGetController.cs
    │       │   ├── ContactApiController.cs
    │       │   ├── ContentNegotiation
    │       │   │   ├── ContentNegotiationController.cs
    │       │   │   ├── FallbackOnTypeBasedMatchController.cs
    │       │   │   ├── FormatFilterController.cs
    │       │   │   ├── InvalidContentTypeController.cs
    │       │   │   ├── NoContentController.cs
    │       │   │   ├── NoContentDoNotTreatNullValueAsNoContentController.cs
    │       │   │   ├── NoProducesContentOnClassController.cs
    │       │   │   ├── NormalController.cs
    │       │   │   ├── ProducesContentBaseController.cs
    │       │   │   ├── ProducesContentOnClassController.cs
    │       │   │   ├── ProducesJsonController.cs
    │       │   │   ├── ProducesWithMediaTypeParametersController.cs
    │       │   │   ├── ProducesWithMediaTypeSuffixesController.cs
    │       │   │   └── TextPlainController.cs
    │       │   ├── DefaultValuesController.cs
    │       │   ├── FiltersController.cs
    │       │   ├── HomeController.cs
    │       │   ├── JsonResultController.cs
    │       │   ├── LinkGeneration
    │       │   │   ├── LinksController.cs
    │       │   │   ├── OrdersController.cs
    │       │   │   └── ProductsController.cs
    │       │   ├── MonitorController.cs
    │       │   ├── PageRouteController.cs
    │       │   ├── PassThroughController.cs
    │       │   ├── RemoteAttribute_HomeController.cs
    │       │   ├── RemoteAttribute_VerifyController.cs
    │       │   ├── RequestFormLimitsController.cs
    │       │   ├── RequestScopedServiceController.cs
    │       │   ├── RequestSizeLimitController.cs
    │       │   ├── RoutingController.cs
    │       │   ├── SqlDataController.cs
    │       │   ├── TempDataController.cs
    │       │   ├── TempDataPropertyController.cs
    │       │   ├── TestingController.cs
    │       │   ├── UsersController.cs
    │       │   └── ViewDataPropertyController.cs
    │       ├── Conventions
    │       │   └── ApplicationDescription.cs
    │       ├── Filters
    │       │   ├── RedirectAntiforgeryValidationFailedResultFilter.cs
    │       │   ├── RequestIdService.cs
    │       │   ├── ServiceActionFilter.cs
    │       │   ├── TestExceptionFilter.cs
    │       │   ├── TraceOutputResultFilter.cs
    │       │   ├── TraceResourceFilter.cs
    │       │   └── UnprocessableResultFilter.cs
    │       ├── Formatters
    │       │   ├── CustomFormatter.cs
    │       │   ├── PlainTextFormatter.cs
    │       │   ├── VCardFormatter_V3.cs
    │       │   └── VCardFormatter_V4.cs
    │       ├── LocalizationPipeline.cs
    │       ├── ManagerHandler.cs
    │       ├── Models
    │       │   ├── Contact.cs
    │       │   ├── GenderType.cs
    │       │   ├── LoginViewModel.cs
    │       │   ├── Person.cs
    │       │   ├── Product.cs
    │       │   ├── Product_Json.cs
    │       │   ├── Product_Xml.cs
    │       │   ├── Product_text.cs
    │       │   ├── RemoteAttributeUser.cs
    │       │   └── User.cs
    │       ├── Operations.cs
    │       ├── Program.cs
    │       ├── RequestIdMiddleware.cs
    │       ├── RequestIdViewComponent.cs
    │       ├── RequestScopedActionConstraint.cs
    │       ├── RequestScopedFilter.cs
    │       ├── RequestScopedTagHelper.cs
    │       ├── Startup.cs
    │       ├── StartupRequestLimitSize.cs
    │       ├── StartupWithCookieTempDataProviderAndCookieConsent.cs
    │       ├── StartupWithCustomInvalidModelStateFactory.cs
    │       ├── StartupWithEndpointRouting.cs
    │       ├── StartupWithSessionTempDataProvider.cs
    │       ├── StoreIntoTempDataActionResult.cs
    │       ├── Views
    │       │   ├── Antiforgery
    │       │   │   ├── AntiforgeryTokenAndResponseCaching.cshtml
    │       │   │   ├── FlushAsyncLogin.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── Login.cshtml
    │       │   │   ├── _FlushAsyncLayout.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   └── _LoginPartial.cshtml
    │       │   ├── Home
    │       │   │   ├── ActionLinkView.cshtml
    │       │   │   ├── CSharp7View.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── JsonHelperInView.cshtml
    │       │   │   ├── JsonHelperWithSettingsInView.cshtml
    │       │   │   ├── PlainView.cshtml
    │       │   │   └── ViewWithPrefixedAttributeValue.cshtml
    │       │   ├── Links
    │       │   │   ├── ActionLink_ActionOnOtherController.cshtml
    │       │   │   ├── ActionLink_ActionOnSameController.cshtml
    │       │   │   ├── ActionLink_HostNameFragmentAttributes.cshtml
    │       │   │   ├── ActionLink_SecurePage_ImplicitHostName.cshtml
    │       │   │   ├── RouteLink_HostNameFragmentAttributes.cshtml
    │       │   │   ├── RouteLink_RestLinkToOtherController.cshtml
    │       │   │   └── RouteLink_SecureApi_ImplicitHostName.cshtml
    │       │   ├── PageRoute
    │       │   │   ├── AttributeRouteView.cshtml
    │       │   │   └── ConventionalRouteView.cshtml
    │       │   ├── RemoteAttribute_Home
    │       │   │   ├── Create.cshtml
    │       │   │   └── _Layout.cshtml
    │       │   ├── RequestScopedService
    │       │   │   ├── TagHelper.cshtml
    │       │   │   ├── View.cshtml
    │       │   │   └── ViewComponent.cshtml
    │       │   ├── Shared
    │       │   │   ├── Components
    │       │   │   │   ├── PassThrough
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   └── ViewData
    │       │   │   │   │   └── Default.cshtml
    │       │   │   ├── Error.cshtml
    │       │   │   └── _Layout.cshtml
    │       │   ├── TempData
    │       │   │   ├── DisplayTempData.cshtml
    │       │   │   └── Index.cshtml
    │       │   ├── TempDataProperty
    │       │   │   └── DetailsView.cshtml
    │       │   └── ViewDataProperty
    │       │   │   ├── ViewDataInViewComponent.cshtml
    │       │   │   ├── ViewDataPropertyToView.cshtml
    │       │   │   └── _Layout.cshtml
    │       ├── VndErrorAttribute.cs
    │       ├── _bower.json
    │       ├── _bower.readme
    │       ├── _gruntfile.js
    │       ├── _package.json
    │       ├── readme.md
    │       └── wwwroot
    │       │   └── lib
    │       │       └── jquery-validation-unobtrusive
    │       │           └── jquery.validate.unobtrusive.min.js
    │   ├── Common
    │       └── TestResponseGenerator.cs
    │   ├── ControllersFromServicesClassLibrary
    │       ├── ClientUIStubController.cs
    │       ├── ControllerWithConstructorInjection.cs
    │       ├── ControllersFromServicesClassLibrary.csproj
    │       ├── EmployeeRecords.cs
    │       ├── GenericController.cs
    │       ├── Inventory.cs
    │       ├── NestedControllerOwner.cs
    │       ├── QueryValueService.cs
    │       ├── ResourcesController.cs
    │       └── TimeScheduleController.cs
    │   ├── ControllersFromServicesWebSite
    │       ├── AnotherController.cs
    │       ├── Components
    │       │   └── ComponentFromServicesViewComponent.cs
    │       ├── ControllersFromServicesWebSite.csproj
    │       ├── NotInServicesController.cs
    │       ├── Startup.cs
    │       ├── TagHelpers
    │       │   └── InServicesTagHelper.cs
    │       ├── ValueService.cs
    │       ├── ViewData.cshtml
    │       ├── Views
    │       │   └── Another
    │       │   │   └── InServicesTagHelper.cshtml
    │       └── readme.md
    │   ├── CorsWebSite
    │       ├── Controllers
    │       │   ├── BlogController.cs
    │       │   ├── CustomerController.cs
    │       │   └── StoreController.cs
    │       ├── CorsWebSite.csproj
    │       ├── Filters
    │       │   └── AllRequestsBlockingAuthorizationFilter.cs
    │       ├── Program.cs
    │       ├── Startup.cs
    │       ├── StartupWith21Compat.cs
    │       └── readme.md
    │   ├── Directory.Build.props
    │   ├── ErrorPageMiddlewareWebSite
    │       ├── AggregateExceptionController.cs
    │       ├── ErrorPageMiddlewareController.cs
    │       ├── ErrorPageMiddlewareWebSite.csproj
    │       ├── README.md
    │       ├── Startup.cs
    │       └── Views
    │       │   ├── ErrorFromViewImports
    │       │       ├── Index.cshtml
    │       │       └── _ViewImports.cshtml
    │       │   └── ErrorPageMiddleware
    │       │       ├── CompilationFailure.cshtml
    │       │       ├── ParserError.cshtml
    │       │       └── RuntimeError.cshtml
    │   ├── FSharpWebSite
    │       ├── Controllers
    │       │   └── HomeController.fs
    │       ├── FSharpWebSite.fsproj
    │       ├── Program.fs
    │       ├── Startup.fs
    │       └── Views
    │       │   ├── Home
    │       │       └── Index.cshtml
    │       │   ├── Shared
    │       │       └── _Layout.cshtml
    │       │   ├── _ViewImports.cshtml
    │       │   └── _ViewStart.cshtml
    │   ├── FilesWebSite
    │       ├── Controllers
    │       │   ├── DownloadFilesController.cs
    │       │   ├── EmbeddedFilesController.cs
    │       │   └── UploadFilesController.cs
    │       ├── EmbeddedResources
    │       │   └── Greetings.txt
    │       ├── FilesWebSite.csproj
    │       ├── Models
    │       │   ├── Product.cs
    │       │   └── User.cs
    │       ├── Startup.cs
    │       ├── readme.md
    │       └── sample.txt
    │   ├── FormatterWebSite
    │       ├── Controllers
    │       │   ├── DataContractSerializerController.cs
    │       │   ├── DoNotRespectBrowserAcceptHeaderController.cs
    │       │   ├── HomeController.cs
    │       │   ├── InputFormatterController.cs
    │       │   ├── JsonFormatterController.cs
    │       │   ├── JsonPatchController.cs
    │       │   ├── PolymorphicBindingController.cs
    │       │   ├── PolymorphicPropertyBindingController.cs
    │       │   ├── RespectBrowserAcceptHeaderController.cs
    │       │   ├── SerializableErrorController.cs
    │       │   ├── StreamController.cs
    │       │   ├── TestApiController.cs
    │       │   ├── TopLevelValidationController.cs
    │       │   ├── ValidationController.cs
    │       │   └── XmlSerializerController.cs
    │       ├── Filters
    │       │   └── ModelStateValidationFilterAttribute.cs
    │       ├── FormatterWebSite.csproj
    │       ├── IModelConverter.cs
    │       ├── Models
    │       │   ├── BaseModel.cs
    │       │   ├── BookModelWithNoValidation.cs
    │       │   ├── DerivedDummyClass.cs
    │       │   ├── DerivedModel.cs
    │       │   ├── Developer.cs
    │       │   ├── DummyClass.cs
    │       │   ├── Employee.cs
    │       │   ├── ErrorInfo.cs
    │       │   ├── IModel.cs
    │       │   ├── InfinitelyRecursiveModel.cs
    │       │   ├── Person.cs
    │       │   ├── Product.cs
    │       │   ├── Project.cs
    │       │   ├── RecursiveIdentifier.cs
    │       │   ├── Review.cs
    │       │   ├── SimpleTypePropertiesModel.cs
    │       │   ├── User.cs
    │       │   └── ValidationProviderAttributeModel.cs
    │       ├── PolymorphicBinder.cs
    │       ├── Program.cs
    │       ├── Startup.cs
    │       ├── StartupWithRespectBrowserAcceptHeader.cs
    │       ├── StringInputFormatter.cs
    │       ├── ValidateBodyParameterAttribute.cs
    │       └── readme.md
    │   ├── HtmlGenerationWebSite
    │       ├── Areas
    │       │   └── Customer
    │       │   │   ├── Controllers
    │       │   │       └── HtmlGeneration_CustomerController.cs
    │       │   │   └── Pages
    │       │   │       ├── PartialWithFallback.cshtml
    │       │   │       ├── PartialWithOptional.cshtml
    │       │   │       ├── _Fallback.cshtml
    │       │   │       └── _ViewImports.cshtml
    │       ├── Components
    │       │   ├── CheckViewData - LackModel.cs
    │       │   ├── CheckViewData.cs
    │       │   └── SplashViewComponent.cs
    │       ├── Controllers
    │       │   ├── Catalog_CacheTagHelperController.cs
    │       │   ├── CheckViewData.cs
    │       │   ├── HtmlGeneration_HomeController.cs
    │       │   ├── HtmlGeneration_OrderController.cs
    │       │   ├── HtmlGeneration_ProductController.cs
    │       │   └── HtmlGeneration_WeirdExpressions.cs
    │       ├── HtmlGenerationWebSite.csproj
    │       ├── ISignalTokenProviderService.cs
    │       ├── Models
    │       │   ├── AClass.cs
    │       │   ├── Customer.cs
    │       │   ├── DayOfWeek.cs
    │       │   ├── Employee.cs
    │       │   ├── Folder.cs
    │       │   ├── Gender.cs
    │       │   ├── Item.cs
    │       │   ├── Month.cs
    │       │   ├── Order.cs
    │       │   ├── PartialModel.cs
    │       │   ├── Person.cs
    │       │   ├── Product.cs
    │       │   ├── ProductRecommendations.cs
    │       │   ├── StatusMessageModel.cs
    │       │   ├── SuperTemplateModel.cs
    │       │   ├── SuperViewModel.cs
    │       │   ├── TemplateModel.cs
    │       │   ├── ValidationProviderAttributeModel.cs
    │       │   ├── ViewModel.cs
    │       │   ├── Warehouse.cs
    │       │   └── WeirdModel.cs
    │       ├── Pages
    │       │   ├── CacheTagHelper_VaryByCulture.cshtml
    │       │   └── _ViewImports.cshtml
    │       ├── ProductsService.cs
    │       ├── SignalTokenProviderService.cs
    │       ├── Startup.cs
    │       ├── StartupWith21CompatibilityBehavior.cs
    │       ├── StartupWithCultureReplace.cs
    │       ├── TestCacheTagHelper.cs
    │       ├── Views
    │       │   ├── Catalog_CacheTagHelper
    │       │   │   ├── ConfirmPayment.cshtml
    │       │   │   ├── Deals.cshtml
    │       │   │   ├── Details.cshtml
    │       │   │   ├── ListCategories.cshtml
    │       │   │   ├── PastPurchases.cshtml
    │       │   │   ├── ShoppingCart.cshtml
    │       │   │   ├── Splash.cshtml
    │       │   │   ├── _SplashPartial.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── CheckViewData
    │       │   │   ├── AtViewModel.cshtml
    │       │   │   ├── Components
    │       │   │   │   ├── CheckViewData
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   └── CheckViewData___LackModel
    │       │   │   │   │   └── Default.cshtml
    │       │   │   ├── DisplayTemplates
    │       │   │   │   ├── Int32 - LackModel.cshtml
    │       │   │   │   ├── Int32.cshtml
    │       │   │   │   ├── Int64 - LackModel.cshtml
    │       │   │   │   ├── Int64.cshtml
    │       │   │   │   ├── LackModel.cshtml
    │       │   │   │   ├── TemplateModel.cshtml
    │       │   │   │   └── ViewModel.cshtml
    │       │   │   ├── PartialForViewModel.cshtml
    │       │   │   └── ViewModel.cshtml
    │       │   ├── HtmlGeneration_Home
    │       │   │   ├── AttributesWithBooleanValues.cshtml
    │       │   │   ├── CreateWarehouse.cshtml
    │       │   │   ├── EditWarehouse.cshtml
    │       │   │   ├── EditorTemplates
    │       │   │   │   ├── Employee.cshtml
    │       │   │   │   ├── GenderUsingHtmlHelpers.cshtml
    │       │   │   │   └── GenderUsingTagHelpers.cshtml
    │       │   │   ├── EmployeeList.cshtml
    │       │   │   ├── Enum.cshtml
    │       │   │   ├── Environment.cshtml
    │       │   │   ├── Form.cshtml
    │       │   │   ├── Image.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── Input.cshtml
    │       │   │   ├── ItemUsingModelSpecificEditorTemplate.cshtml
    │       │   │   ├── ItemUsingSharedEditorTemplate.cshtml
    │       │   │   ├── Link.cshtml
    │       │   │   ├── Order.cshtml
    │       │   │   ├── OrderUsingHtmlHelpers.cshtml
    │       │   │   ├── PartialTagHelperWithoutModel.cshtml
    │       │   │   ├── Product.cshtml
    │       │   │   ├── ProductList.cshtml
    │       │   │   ├── ProductListUsingTagHelpers.cshtml
    │       │   │   ├── Script.cshtml
    │       │   │   ├── StatusMessage.cshtml
    │       │   │   ├── ValidationProviderAttribute.cshtml
    │       │   │   ├── Warehouse.cshtml
    │       │   │   ├── _EmployeePartial.cshtml
    │       │   │   ├── _ProductPartial.cshtml
    │       │   │   ├── _ProductRecommendations.cshtml
    │       │   │   └── _StatusMessagePartial.cshtml
    │       │   ├── HtmlGeneration_WeirdExpressions
    │       │   │   ├── GetWeirdWithHtmlHelpers.cshtml
    │       │   │   └── GetWeirdWithTagHelpers.cshtml
    │       │   └── Shared
    │       │   │   ├── Components
    │       │   │       └── Splash
    │       │   │       │   └── Default.cshtml
    │       │   │   ├── Customer.cshtml
    │       │   │   ├── DisplayTemplates
    │       │   │       └── DayOfWeek.cshtml
    │       │   │   ├── EditorTemplates
    │       │   │       ├── Common.cshtml
    │       │   │       └── String.cshtml
    │       │   │   └── _Partial.cshtml
    │       ├── appRoot.css
    │       ├── appRoot.js
    │       ├── readme.md
    │       └── wwwroot
    │       │   ├── images
    │       │       └── red.png
    │       │   └── styles
    │       │       ├── .gitattributes
    │       │       ├── site.css
    │       │       ├── site.js
    │       │       ├── siteIntegrity.css
    │       │       ├── siteIntegrity.js
    │       │       └── sub
    │       │           ├── site2.css
    │       │           ├── site2.js
    │       │           ├── site3.css
    │       │           ├── site3.js
    │       │           ├── site3.min.css
    │       │           ├── siteIntegrity2.js
    │       │           └── siteIntegrity3.js
    │   ├── RazorBuildWebSite.PrecompiledViews
    │       ├── Pages
    │       │   └── Precompilation
    │       │   │   ├── Page.cs
    │       │   │   └── Page_Model.cs
    │       ├── RazorBuildWebSite.PrecompiledViews.csproj
    │       └── Views
    │       │   ├── Common
    │       │       └── CommonView.cs
    │       │   └── Precompilation
    │       │       └── View.cs
    │   ├── RazorBuildWebSite.Views
    │       ├── AssemblyInfo.cs
    │       ├── Pages
    │       │   └── Rzc
    │       │   │   ├── Page.cs
    │       │   │   └── Page_Model.cs
    │       ├── RazorBuildWebSite.Views.csproj
    │       └── Views
    │       │   ├── Common
    │       │       └── CommonView.cs
    │       │   └── Rzc
    │       │       └── View.cs
    │   ├── RazorBuildWebSite
    │       ├── Controllers
    │       │   ├── CommonController.cs
    │       │   ├── PrecompilationController.cs
    │       │   └── RzcController.cs
    │       ├── Pages
    │       │   ├── Precompilation
    │       │   │   └── Page.cshtml
    │       │   ├── Rzc
    │       │   │   └── Page.cshtml
    │       │   └── _ViewImports.cshtml
    │       ├── RazorBuildWebSite.csproj
    │       ├── Startup.cs
    │       ├── Views
    │       │   ├── Precompilation
    │       │   │   └── View.cshtml
    │       │   ├── Rzc
    │       │   │   └── View.cshtml
    │       │   └── _ViewImports.cshtml
    │       └── readme.md
    │   ├── RazorPagesClassLibrary
    │       ├── ClassLibraryStartup.cs
    │       ├── Pages
    │       │   └── ClassLibraryPages
    │       │   │   ├── Overriden.cshtml
    │       │   │   └── Served.cshtml
    │       └── RazorPagesClassLibrary.csproj
    │   ├── RazorPagesWebSite
    │       ├── Areas
    │       │   ├── Accounts
    │       │   │   ├── Controllers
    │       │   │   │   └── HomeController.cs
    │       │   │   ├── Pages
    │       │   │   │   ├── About.cshtml
    │       │   │   │   ├── Manage
    │       │   │   │   │   ├── RenderPartials.cshtml
    │       │   │   │   │   └── _PartialInManage.cshtml
    │       │   │   │   ├── PageWithLinks.cshtml
    │       │   │   │   ├── PageWithRouteTemplate.cshtml
    │       │   │   │   ├── RelativeLinks
    │       │   │   │   │   └── Index.cshtml
    │       │   │   │   ├── RequiresAuth
    │       │   │   │   │   ├── AllowAnonymous.cshtml
    │       │   │   │   │   └── Index.cshtml
    │       │   │   │   └── _PartialInAreaPagesRoot.cshtml
    │       │   │   ├── Views
    │       │   │   │   ├── Home
    │       │   │   │   │   └── Index.cshtml
    │       │   │   │   └── Shared
    │       │   │   │   │   └── _PartialInAreasSharedViews.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   └── Products
    │       │   │   └── Pages
    │       │   │       └── List.cshtml
    │       ├── Components
    │       │   └── ViewDataViewComponent.cs
    │       ├── Controllers
    │       │   └── RedirectController.cs
    │       ├── Conventions
    │       │   └── CustomModelTypeConvention.cs
    │       ├── CustomActionResult.cs
    │       ├── DefaultNamespace.cshtml
    │       ├── HandlerTestPage.cshtml
    │       ├── HelloWorld.cshtml
    │       ├── HelloWorldWithAuth.cshtml
    │       ├── HelloWorldWithHandler.cshtml
    │       ├── HelloWorldWithOptionsHandler.cshtml
    │       ├── HelloWorldWithPageModelAttributeModel.cs
    │       ├── HelloWorldWithPageModelAttributeModel.cshtml
    │       ├── HelloWorldWithPageModelHandler.cs
    │       ├── HelloWorldWithPageModelHandler.cshtml
    │       ├── HelloWorldWithRoute.cshtml
    │       ├── InjectedPageProperties.cshtml
    │       ├── ModelAsFilter.cs
    │       ├── ModelAsFilter.cshtml
    │       ├── ModelHandlerTestModel.cs
    │       ├── ModelHandlerTestPage.cshtml
    │       ├── ModelWithAuthFilter.cs
    │       ├── ModelWithAuthFilter.cshtml
    │       ├── ModelWithPageFilter.cs
    │       ├── ModelWithPageFilter.cshtml
    │       ├── ModelWithResponseCache.cs
    │       ├── ModelWithResponseCache.cshtml
    │       ├── Models
    │       │   ├── IUserModel.cs
    │       │   └── UserModel.cs
    │       ├── NoPage.cshtml
    │       ├── OnGetView.cshtml
    │       ├── PageWithoutContent.cshtml
    │       ├── Pages
    │       │   ├── Admin
    │       │   │   ├── Edit.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── Login.cshtml
    │       │   │   └── RouteTemplate.cshtml
    │       │   ├── Antiforgery
    │       │   │   ├── AntiforgeryDefault.cshtml
    │       │   │   ├── AntiforgeryDefault.cshtml.cs
    │       │   │   ├── IgnoreAntiforgery.cshtml
    │       │   │   ├── IgnoreAntiforgery.cshtml.cs
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── ClassLibraryPages
    │       │   │   └── Overriden.cshtml
    │       │   ├── Conventions
    │       │   │   ├── Auth.cshtml
    │       │   │   └── AuthFolder
    │       │   │   │   ├── AnonymousModel.cs
    │       │   │   │   ├── AnonymousViaModel.cshtml
    │       │   │   │   └── Index.cshtml
    │       │   ├── CustomBaseType
    │       │   │   ├── CustomPageBase.cs
    │       │   │   ├── Page.cshtml
    │       │   │   ├── PageWithModel.cs
    │       │   │   ├── PageWithModel.cshtml
    │       │   │   ├── _ViewImports.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── CustomModelTypeModel.cshtml
    │       │   ├── CustomModelTypeModel.cshtml.cs
    │       │   ├── CustomPrefix
    │       │   │   └── Custom.cshtml
    │       │   ├── FileFromShared
    │       │   ├── HandlerWithParameter.cshtml
    │       │   ├── HandlerWithParameter.cshtml.cs
    │       │   ├── Index.cshtml
    │       │   ├── Localized
    │       │   │   ├── Page.cshtml
    │       │   │   ├── Page.fr-FR.resx
    │       │   │   ├── PageWithModel.cs
    │       │   │   ├── PageWithModel.cshtml
    │       │   │   └── PageWithModel.fr-FR.resx
    │       │   ├── Namespace
    │       │   │   ├── Nested
    │       │   │   │   ├── Folder
    │       │   │   │   │   └── Index.cshtml
    │       │   │   │   └── Override
    │       │   │   │   │   └── Index.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── NotTheRoot.cshtml
    │       │   ├── PropertyBinding
    │       │   │   ├── BindFormFile.cshtml
    │       │   │   ├── BindFormFile.cshtml.cs
    │       │   │   ├── BindPropertiesOnModel.cs
    │       │   │   ├── BindPropertiesOnModel.cshtml
    │       │   │   ├── BindPropertiesWithSupportsGetOnModel.cs
    │       │   │   ├── BindPropertiesWithSupportsGetOnModel.cshtml
    │       │   │   ├── BindPropertyWithGet.cshtml
    │       │   │   ├── PageModelWithPropertyAndArgumentBinding.cs
    │       │   │   ├── PageModelWithPropertyBinding.cs
    │       │   │   ├── PageModelWithPropertyBinding.cshtml
    │       │   │   ├── PagePropertyBinding.cshtml
    │       │   │   ├── PageWithPropertyAndArgumentBinding.cshtml
    │       │   │   ├── PolymorphicBinding.cs
    │       │   │   ├── PolymorphicBinding.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── Redirects
    │       │   │   ├── Index.cshtml
    │       │   │   ├── Redirect.cshtml
    │       │   │   ├── RedirectFromHandler.cshtml
    │       │   │   ├── RedirectFromModel.cs
    │       │   │   ├── RedirectFromModel.cshtml
    │       │   │   ├── RedirectFromPage.cshtml
    │       │   │   ├── RedirectToSelf.cshtml
    │       │   │   ├── RedirectToSibling.cshtml
    │       │   │   └── SubDir
    │       │   │   │   └── SubDirPage.cshtml
    │       │   ├── Routes
    │       │   │   ├── RouteUsingDefaultName.cshtml
    │       │   │   ├── Sibling.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── SearchInPages.cshtml
    │       │   ├── Section
    │       │   │   ├── Index.cshtml
    │       │   │   └── _Layout.cshtml
    │       │   ├── Shared
    │       │   │   ├── Components
    │       │   │   │   └── ViewData
    │       │   │   │   │   └── Default.cshtml
    │       │   │   ├── _CustomBaseTypeLayout.cshtml
    │       │   │   └── _FileInShared.cshtml
    │       │   ├── ShortCircuitPageAtAuthFilter.cshtml
    │       │   ├── ShortCircuitPageAtAuthFilter.cshtml.cs
    │       │   ├── ShortCircuitPageAtPageFilter.cshtml
    │       │   ├── ShortCircuitPageAtPageFilter.cshtml.cs
    │       │   ├── TagHelper
    │       │   │   ├── CrossPost.cshtml
    │       │   │   ├── FormAction.cshtml
    │       │   │   ├── PathTraversalLinks.cshtml
    │       │   │   ├── PostWithHandler.cshtml
    │       │   │   ├── SelfPost.cshtml
    │       │   │   ├── SiblingLinks.cshtml
    │       │   │   ├── SubDir
    │       │   │   │   └── SubDirPage.cshtml
    │       │   │   ├── SubDirectoryLinks.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── TryUpdateModel.cshtml
    │       │   ├── TryUpdateModelPageModel.cs
    │       │   ├── TryUpdateModelPageModel.cshtml
    │       │   ├── TryValidateModel.cshtml
    │       │   ├── TryValidateModelPageModel.cs
    │       │   ├── TryValidateModelPageModel.cshtml
    │       │   ├── Validation
    │       │   │   ├── PageHandlerWithValidation.cshtml
    │       │   │   ├── PageWithValidation.cs
    │       │   │   ├── PageWithValidation.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── ViewData
    │       │   │   ├── ViewDataInPage.cs
    │       │   │   ├── ViewDataInPage.cshtml
    │       │   │   ├── ViewDataInPageWithoutModel.cshtml
    │       │   │   ├── ViewDataSetInViewStart
    │       │   │   │   ├── Index.cs
    │       │   │   │   ├── Index.cshtml
    │       │   │   │   ├── _Layout.cshtml
    │       │   │   │   └── _ViewStart.cshtml
    │       │   │   ├── ViewDataToViewComponentPage.cs
    │       │   │   ├── ViewDataToViewComponentPage.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── ViewDataAvailableAfterHandlerExecuted.cshtml
    │       │   ├── ViewDataAvailableAfterHandlerExecuted.cshtml.cs
    │       │   ├── ViewSearch
    │       │   │   ├── Index.cshtml
    │       │   │   └── _Sibling.cshtml
    │       │   ├── WithViewImport
    │       │   │   ├── Index.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── WithViewStart
    │       │   │   ├── Index.cshtml
    │       │   │   ├── ViewStartAtRoot.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── _Parent.cshtml
    │       │   └── _ViewImports.cshtml
    │       ├── PathSet.cshtml
    │       ├── PolymorphicModelBinder.cs
    │       ├── Program.cs
    │       ├── RazorPagesWebSite.csproj
    │       ├── RedirectToController.cshtml
    │       ├── RenderPartialWithModel.cs
    │       ├── RenderPartialWithModel.cshtml
    │       ├── RenderPartialWithoutModel.cshtml
    │       ├── RouteData.cshtml
    │       ├── Services
    │       │   └── CustomService.cs
    │       ├── Show.cshtml
    │       ├── SimpleForms.cshtml
    │       ├── Startup.cs
    │       ├── StartupWithBasePath.cs
    │       ├── TagHelpers.cshtml
    │       ├── TempData
    │       │   ├── SetMessageAndRedirect.cshtml
    │       │   ├── SetTempDataOnPageAndRedirect.cshtml
    │       │   ├── SetTempDataOnPageModelAndRedirect.cs
    │       │   ├── SetTempDataOnPageModelAndRedirect.cshtml
    │       │   ├── ShowMessage.cshtml
    │       │   ├── TempDataPageModel.cs
    │       │   └── TempDataPageModelProperty.cshtml
    │       ├── Views
    │       │   └── Shared
    │       │   │   ├── _FileInShared.cshtml
    │       │   │   ├── _GlobalLayout.cshtml
    │       │   │   ├── _PartialWithModel.cshtml
    │       │   │   ├── _PartialWithoutModel.cshtml
    │       │   │   └── _Shared.cshtml
    │       ├── _Root.cshtml
    │       ├── _ViewStart.cshtml
    │       └── readme.md
    │   ├── RazorWebSite
    │       ├── Components
    │       │   ├── ComponentForViewWithPaths.cs
    │       │   ├── ComponentThatSetsTitle.cs
    │       │   ├── ComponentWithLayout.cs
    │       │   ├── ComponentWithRelativePath.cs
    │       │   ├── ComponentWithViewStart.cs
    │       │   └── InheritingViewComponent.cs
    │       ├── Controllers
    │       │   ├── AddTagHelperComponentController.cs
    │       │   ├── BackSlashController.cs
    │       │   ├── DataAnnotationController.cs
    │       │   ├── DirectivesController.cs
    │       │   ├── EmbeddedViewsController.cs
    │       │   ├── ExpanderViewsController.cs
    │       │   ├── FlushPoint.cs
    │       │   ├── HtmlHelperOptionsController.cs
    │       │   ├── NestedViewStartsController.cs
    │       │   ├── PartialViewEngineController.cs
    │       │   ├── PartialsWithLayoutController.cs
    │       │   ├── TagHelperComponentController.cs
    │       │   ├── TemplateExpander.cs
    │       │   ├── UpdateableFileProviderController.cs
    │       │   ├── UrlResolutionController.cs
    │       │   ├── ViewEngineController.cs
    │       │   ├── ViewNameSpecification_HomeController.cs
    │       │   ├── ViewWithPathsController.cs
    │       │   └── ViewsConsumingCompilationOptionsController.cs
    │       ├── EmbeddedResources
    │       │   └── Views
    │       │   │   ├── EmbeddedShared
    │       │   │       ├── _Layout.cshtml
    │       │   │       └── _Partial.cshtml
    │       │   │   ├── EmbeddedViews
    │       │   │       ├── EmbeddedPartial.cshtml
    │       │   │       ├── Index.cshtml
    │       │   │       ├── RelativeNonPath.cshtml
    │       │   │       ├── _ViewImports.cshtml
    │       │   │       └── _ViewStart.cshtml
    │       │   │   └── Shared
    │       │   │       └── _EmbeddedPartial.cshtml
    │       ├── Models
    │       │   ├── Address.cs
    │       │   ├── EnumModel.cs
    │       │   └── Person.cs
    │       ├── MyBasePage.cs
    │       ├── NestedViewImportsController.cs
    │       ├── Pages
    │       │   └── Shared
    │       │   │   ├── _Layout.cshtml
    │       │   │   └── _SharedFromPages.cshtml
    │       ├── Program.cs
    │       ├── RazorWebSite.csproj
    │       ├── Resources
    │       │   ├── Models
    │       │   │   └── ModelEnum.resx
    │       │   └── SingleType.resx
    │       ├── Services
    │       │   ├── BackSlashExpander.cs
    │       │   ├── FrameworkSpecificHelper.cs
    │       │   ├── InjectedHelper.cs
    │       │   ├── NonMainPageViewLocationExpander.cs
    │       │   ├── TaskReturningService.cs
    │       │   ├── TestBodyTagHelperComponent.cs
    │       │   ├── TestHeadTagHelperComponent.cs
    │       │   └── UpdateableFileProvider.cs
    │       ├── Shared-Views
    │       │   └── ExpanderViews
    │       │   │   ├── Index.cshtml
    │       │   │   └── _ExpanderPartial.cshtml
    │       ├── SingleType.cs
    │       ├── Startup.cs
    │       ├── StartupDataAnnotations.cs
    │       ├── Views
    │       │   ├── AddTagHelperComponent
    │       │   │   └── AddComponent.cshtml
    │       │   ├── BackSlash
    │       │   │   ├── BackSlashView.cshtml
    │       │   │   ├── _BackSlashPartial.cshtml
    │       │   │   └── _Layout.cshtml
    │       │   ├── Directives
    │       │   │   ├── Scoped
    │       │   │   │   ├── ViewInheritsBasePageFromViewImports.cshtml
    │       │   │   │   ├── _Layout.cshtml
    │       │   │   │   ├── _ViewImports.cshtml
    │       │   │   │   └── _ViewStart.cshtml
    │       │   │   ├── ViewInheritsInjectAndUsingsFromViewImports.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── Enum
    │       │   │   └── Enum.cshtml
    │       │   ├── ExpanderViews
    │       │   │   └── Index.cshtml
    │       │   ├── FlushPoint
    │       │   │   ├── PageWithFlushBeforeLayout.cshtml
    │       │   │   ├── PageWithLayout.cshtml
    │       │   │   ├── PageWithNestedLayout.cshtml
    │       │   │   ├── PageWithPartialsAndViewComponents.cshtml
    │       │   │   ├── PageWithSectionInvokedViaRenderSectionAsync.cshtml
    │       │   │   └── PageWithoutLayout.cshtml
    │       │   ├── HtmlHelperOptions
    │       │   │   ├── HtmlHelperOptionsDefaultsInPartialView.cshtml
    │       │   │   ├── HtmlHelperOptionsDefaultsInView.cshtml
    │       │   │   ├── OverrideAppWideDefaultsInPartialView.cshtml
    │       │   │   └── OverrideAppWideDefaultsInView.cshtml
    │       │   ├── InheritingInherits
    │       │   │   ├── Index.cshtml
    │       │   │   ├── _ViewComponent.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── NestedViewImports
    │       │   │   ├── Nested
    │       │   │   │   ├── Index.cshtml
    │       │   │   │   ├── _ViewImports.cshtml
    │       │   │   │   └── _ViewStart.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── NestedViewStarts
    │       │   │   ├── NestedViewStarts
    │       │   │   │   ├── Index.cshtml
    │       │   │   │   ├── Layout.cshtml
    │       │   │   │   └── _ViewStart.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── PartialViewEngine
    │       │   │   ├── PartialMissingSection.cshtml
    │       │   │   ├── PartialWithModel.cshtml
    │       │   │   ├── ViewPartialMissingSection.cshtml
    │       │   │   ├── ViewWithDataFromController.cshtml
    │       │   │   ├── ViewWithFullPath.cshtml
    │       │   │   ├── ViewWithLayout.cshtml
    │       │   │   ├── ViewWithNestedLayout.cshtml
    │       │   │   └── ViewWithoutLayout.cshtml
    │       │   ├── PartialsWithLayout
    │       │   │   ├── LayoutForViewStartWithLayout.cshtml
    │       │   │   ├── PartialThatDoesNotSpecifyLayout.cshtml
    │       │   │   ├── PartialThatSpecifiesLayout.cshtml
    │       │   │   ├── PartialsRenderedViaPartialAsync.cshtml
    │       │   │   ├── PartialsRenderedViaRenderPartial.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── Shared
    │       │   │   ├── Components
    │       │   │   │   ├── ComponentForViewWithPaths
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   ├── ComponentThatSetsTitle
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   ├── ComponentWithLayout
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   ├── ComponentWithRelativePath.cshtml
    │       │   │   │   └── ComponentWithViewStart
    │       │   │   │   │   ├── Default.cshtml
    │       │   │   │   │   └── _ViewStart.cshtml
    │       │   │   ├── DisplayTemplates
    │       │   │   │   └── Name.cshtml
    │       │   │   ├── _ComponentLayout.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   ├── _LayoutWithFlush.cshtml
    │       │   │   ├── _LayoutWithPartialAndFlush.cshtml
    │       │   │   ├── _LayoutWithRenderSectionAsync.cshtml
    │       │   │   ├── _LayoutWithRenderSectionOnly.cshtml
    │       │   │   ├── _LayoutWithTitle.cshtml
    │       │   │   ├── _NestedLayoutWithFlush.cshtml
    │       │   │   ├── _Partial.cshtml
    │       │   │   ├── _PartialLayout.cshtml
    │       │   │   ├── _PartialThatSetsTitle.cshtml
    │       │   │   ├── _PartialWithFlush.cshtml
    │       │   │   └── _PartialWithModelFromEnumerable.cshtml
    │       │   ├── TagHelperComponent
    │       │   │   ├── Body.cshtml
    │       │   │   └── Head.cshtml
    │       │   ├── TemplateExpander
    │       │   │   ├── Index.cshtml
    │       │   │   ├── ViewWithLayout.cshtml
    │       │   │   ├── _LanguageLayout.cshtml
    │       │   │   ├── _Partial.cshtml
    │       │   │   ├── en-GB
    │       │   │   │   └── _Partial.cshtml
    │       │   │   └── fr
    │       │   │   │   ├── Index.cshtml
    │       │   │   │   ├── _LanguageLayout.cshtml
    │       │   │   │   └── _Partial.cshtml
    │       │   ├── UrlResolution
    │       │   │   └── Index.cshtml
    │       │   ├── ViewEngine
    │       │   │   ├── SearchInPages.cshtml
    │       │   │   ├── ViewWithComponentThatHasLayout.cshtml
    │       │   │   ├── ViewWithComponentThatHasViewStart.cshtml
    │       │   │   ├── ViewWithDataFromController.cshtml
    │       │   │   ├── ViewWithFullPath.cshtml
    │       │   │   ├── ViewWithLayout.cshtml
    │       │   │   ├── ViewWithNestedLayout.cshtml
    │       │   │   ├── ViewWithPartial.cshtml
    │       │   │   ├── ViewWithPartialTakingModelFromIEnumerable.cshtml
    │       │   │   ├── ViewWithRelativePath.cshtml
    │       │   │   ├── ViewWithTitle.cshtml
    │       │   │   ├── ViewWithoutLayout.cshtml
    │       │   │   └── _NestedLayout.cshtml
    │       │   ├── ViewNameSpecification_Home
    │       │   │   ├── LayoutSpecifiedWithPartialPathInPage.cshtml
    │       │   │   ├── LayoutSpecifiedWithPartialPathInViewStart.cshtml
    │       │   │   ├── NonSharedPartial.cshtml
    │       │   │   ├── PageWithNonPartialLayoutPath.cshtml
    │       │   │   ├── ViewWithPartials.cshtml
    │       │   │   ├── _NonSharedLayout.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── ViewWithPaths
    │       │   │   ├── Index.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   ├── _Partial.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── ViewsConsumingCompilationOptions
    │       │   │   ├── Index.cshtml
    │       │   │   └── _Partial.cshtml
    │       │   └── _ViewImports.cshtml
    │       └── readme.md
    │   ├── RoutingWebSite
    │       ├── Areas
    │       │   ├── Admin
    │       │   │   ├── LG3Controller.cs
    │       │   │   ├── Pages
    │       │   │   │   ├── LGAreaPage.cshtml
    │       │   │   │   └── LGAreaPage.cshtml.cs
    │       │   │   └── UserManagementController.cs
    │       │   ├── Order
    │       │   │   └── OrderController.cs
    │       │   └── Travel
    │       │   │   ├── FlightController.cs
    │       │   │   ├── HomeController.cs
    │       │   │   └── RailController.cs
    │       ├── ControllerRouteTokenTransformerConvention.cs
    │       ├── Controllers
    │       │   ├── BanksController.cs
    │       │   ├── BlogController.cs
    │       │   ├── CompanyController.cs
    │       │   ├── ConventionalTransformerController.cs
    │       │   ├── DataTokensController.cs
    │       │   ├── DefaultValuesController.cs
    │       │   ├── EmployeeController.cs
    │       │   ├── EndpointRoutingController.cs
    │       │   ├── FriendsController.cs
    │       │   ├── HomeController.cs
    │       │   ├── LG1Controller.cs
    │       │   ├── LG2Controller.cs
    │       │   ├── MapsController.cs
    │       │   ├── OrderController.cs
    │       │   ├── PageRouteController.cs
    │       │   ├── ParameterTransformerController.cs
    │       │   ├── RouteDataController.cs
    │       │   ├── RoutingController.cs
    │       │   ├── StoreController.cs
    │       │   └── TeamController.cs
    │       ├── HttpMergeAttribute.cs
    │       ├── Pages
    │       │   ├── Edit.cshtml
    │       │   ├── LGAnotherPage.cshtml
    │       │   ├── LGAnotherPage.cshtml.cs
    │       │   ├── LGPage.cshtml
    │       │   ├── LGPage.cshtml.cs
    │       │   ├── PageRouteTransformer
    │       │   │   ├── Index.cshtml
    │       │   │   ├── PageWithConfiguredRoute.cshtml
    │       │   │   └── TestPage.cshtml
    │       │   └── PageWithLinks.cshtml
    │       ├── Program.cs
    │       ├── RemoveControllerActionDescriptorProvider.cs
    │       ├── RoutingWebSite.csproj
    │       ├── Startup.cs
    │       ├── StartupForLinkGenerator.cs
    │       ├── StartupWith21Compat.cs
    │       ├── TestParameterTransformer.cs
    │       └── readme.md
    │   ├── SecurityWebSite
    │       ├── Controllers
    │       │   ├── AdministrationController.cs
    │       │   ├── AntiforgeryController.cs
    │       │   ├── HomeController.cs
    │       │   └── IgnoreAntiforgeryController.cs
    │       ├── CountingPolicyEvaluator.cs
    │       ├── Program.cs
    │       ├── SecurityWebSite.csproj
    │       ├── Startup.cs
    │       ├── StartupWith20CompatAndGlobalDenyAnonymousFilter.cs
    │       ├── StartupWithGlobalDenyAnonymousFilter.cs
    │       ├── Views
    │       │   ├── Home
    │       │   │   └── Index.cshtml
    │       │   ├── Shared
    │       │   │   └── _Layout.cshtml
    │       │   ├── _ViewImports.cshtml
    │       │   └── _ViewStart.cshtml
    │       └── appsettings.json
    │   ├── SimpleWebSite
    │       ├── Controllers
    │       │   └── HomeController.cs
    │       ├── SimpleWebSite.csproj
    │       ├── Startup.cs
    │       └── readme.md
    │   ├── TagHelpersWebSite
    │       ├── Components
    │       │   ├── CopyrightViewComponent.cs
    │       │   ├── DanViewComponent.cs
    │       │   ├── GenericViewComponent.cs
    │       │   └── JacketColor.cs
    │       ├── Controllers
    │       │   ├── EmployeeController.cs
    │       │   ├── EncodersController.cs
    │       │   ├── HomeController.cs
    │       │   └── RemoveDefaultInheritedTagHelpersController.cs
    │       ├── Models
    │       │   ├── Employee.cs
    │       │   └── WebsiteContext.cs
    │       ├── Startup.cs
    │       ├── TagHelpers
    │       │   ├── ATagHelper.cs
    │       │   ├── AddProcessedAttributeTagHelper.cs
    │       │   ├── AutoLinkerTagHelper.cs
    │       │   ├── BoldTagHelper.cs
    │       │   ├── ConditionTagHelper.cs
    │       │   ├── CustomEncoderTagHelper.cs
    │       │   ├── DefaultEncoderTagHelper.cs
    │       │   ├── DictionaryPrefixTestTagHelper.cs
    │       │   ├── NestedViewImportsTagHelper.cs
    │       │   ├── NullEncoderTagHelper.cs
    │       │   ├── PrettyTagHelper.cs
    │       │   ├── RootViewStartTagHelper.cs
    │       │   ├── SurroundTagHelper.cs
    │       │   ├── TagCloudViewComponentTagHelper.cs
    │       │   └── WebsiteInformationTagHelper.cs
    │       ├── TagHelpersWebSite.csproj
    │       ├── Views
    │       │   ├── Employee
    │       │   │   ├── Create.cshtml
    │       │   │   ├── Details.cshtml
    │       │   │   └── DuplicateAntiforgeryTokenRegistration.cshtml
    │       │   ├── Encoders
    │       │   │   ├── CustomEncoder.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── NullEncoder.cshtml
    │       │   │   ├── ThreeEncoders.cshtml
    │       │   │   ├── TwoEncoders.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   ├── _ViewImports.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── Home
    │       │   │   ├── About.cshtml
    │       │   │   ├── Help.cshtml
    │       │   │   ├── Index.cshtml
    │       │   │   ├── NestedViewImportsTagHelper.cshtml
    │       │   │   ├── UnboundDynamicAttributes.cshtml
    │       │   │   ├── ViewComponentTagHelpers.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── InheritedTagHelperPrefix
    │       │   │   ├── InheritedTagHelperPrefix.cshtml
    │       │   │   ├── NestedInheritedTagHelperPrefix
    │       │   │   │   ├── NestedInheritedTagHelperPrefix.cshtml
    │       │   │   │   ├── NestedOverriddenTagHelperPrefix.cshtml
    │       │   │   │   └── _ViewImports.cshtml
    │       │   │   ├── OverriddenTagHelperPrefix.cshtml
    │       │   │   ├── _ViewImports.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── RemoveDefaultInheritedTagHelpers
    │       │   │   ├── Index.cshtml
    │       │   │   └── _ViewImports.cshtml
    │       │   ├── RemoveInheritedTagHelpers
    │       │   │   ├── ViewWithInheritedRemoveTagHelper.cshtml
    │       │   │   ├── _ViewImports.cshtml
    │       │   │   └── _ViewStart.cshtml
    │       │   ├── Shared
    │       │   │   ├── Components
    │       │   │   │   ├── Copyright
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   ├── Dan
    │       │   │   │   │   └── Default.cshtml
    │       │   │   │   └── Generic
    │       │   │   │   │   └── Default.cshtml
    │       │   │   ├── ViewWithLayoutAndNestedTagHelper.cshtml
    │       │   │   ├── _Layout.cshtml
    │       │   │   └── _LayoutWithRootTagHelper.cshtml
    │       │   ├── _ViewImports.cshtml
    │       │   └── _ViewStart.cshtml
    │       └── readme.md
    │   ├── VersioningWebSite
    │       ├── Controllers
    │       │   ├── AddressController.cs
    │       │   ├── BooksController.cs
    │       │   ├── CustomersController.cs
    │       │   ├── ItemsController.cs
    │       │   ├── ItemsV2Controller.cs
    │       │   ├── MoviesController.cs
    │       │   ├── MoviesV2Controller.cs
    │       │   ├── PetsController.cs
    │       │   ├── RoutingController.cs
    │       │   ├── TicketsController.cs
    │       │   └── VouchersController.cs
    │       ├── Program.cs
    │       ├── Startup.cs
    │       ├── StartupWith21Compat.cs
    │       ├── VersionAttribute.cs
    │       ├── VersionDeleteAttribute.cs
    │       ├── VersionGetAttribute.cs
    │       ├── VersionPostAttribute.cs
    │       ├── VersionPutAttribute.cs
    │       ├── VersionRangeValidator.cs
    │       ├── VersionRouteAttribute.cs
    │       ├── VersioningWebSite.csproj
    │       └── readme.md
    │   ├── WebApiCompatShimWebSite
    │       ├── ActionSelectionFilter.cs
    │       ├── Controllers
    │       │   ├── ActionResults
    │       │   │   └── ActionResultController.cs
    │       │   ├── ActionSelection
    │       │   │   ├── Legacy
    │       │   │   │   ├── EnumParameterOverloadsController.cs
    │       │   │   │   ├── ParameterAttributeController.cs
    │       │   │   │   └── TestController.cs
    │       │   │   ├── WebAPIActionConventionsActionNameController.cs
    │       │   │   ├── WebAPIActionConventionsController.cs
    │       │   │   ├── WebAPIActionConventionsDefaultPostController.cs
    │       │   │   └── WebAPIActionConventionsVerbOverrideController.cs
    │       │   ├── BasicApiController.cs
    │       │   ├── HttpRequestMessage
    │       │   │   └── HttpRequestMessageController.cs
    │       │   ├── HttpResponseExceptionController.cs
    │       │   ├── MvcController.cs
    │       │   └── ParameterBinding
    │       │   │   └── EmployeesController.cs
    │       ├── Models
    │       │   ├── Employee.cs
    │       │   ├── User.cs
    │       │   ├── UserAddress.cs
    │       │   └── UserKind.cs
    │       ├── Startup.cs
    │       ├── WebApiCompatShimWebSite.csproj
    │       └── readme.md
    │   └── XmlFormattersWebSite
    │       ├── Controllers
    │           ├── HomeController.cs
    │           ├── IEnumerableController.cs
    │           ├── IQueryableController.cs
    │           ├── SerializableErrorController.cs
    │           ├── ValidationController.cs
    │           ├── XmlApiControllerBase.cs
    │           ├── XmlDataContractApiController.cs
    │           └── XmlSerializedApiController.cs
    │       ├── Models
    │           ├── Address.cs
    │           ├── DummyClass.cs
    │           ├── Employee.cs
    │           ├── Person.cs
    │           └── Store.cs
    │       ├── PersonWrapper.cs
    │       ├── PersonWrapperProvider.cs
    │       ├── PersonWrapperProviderFactory.cs
    │       ├── Startup.cs
    │       ├── StartupWith21Compat.cs
    │       ├── XmlFormattersWebSite.csproj
    │       └── readme.md
└── version.props


/.appveyor.yml:
--------------------------------------------------------------------------------
 1 | init:
 2 | - git config --global core.autocrlf true
 3 | branches:
 4 |   only:
 5 |   - master
 6 |   - /^release\/.*$/
 7 |   - /^(.*\/)?ci-.*$/
 8 | build_script:
 9 | - ps: .\run.ps1 -CI default-build
10 | clone_depth: 1
11 | test: 'off'
12 | deploy: 'off'
13 | image: Visual Studio 2017
14 | 


--------------------------------------------------------------------------------
/.vsts-pipelines/builds/ci-internal.yml:
--------------------------------------------------------------------------------
 1 | trigger:
 2 | - master
 3 | - release/*
 4 | 
 5 | resources:
 6 |   repositories:
 7 |   - repository: buildtools
 8 |     type: git
 9 |     name: aspnet-BuildTools
10 |     ref: refs/heads/master
11 | 
12 | phases:
13 | - template: .vsts-pipelines/templates/project-ci.yml@buildtools
14 | 


--------------------------------------------------------------------------------
/.vsts-pipelines/builds/ci-public.yml:
--------------------------------------------------------------------------------
1 | trigger:
2 | - master
3 | - release/*
4 | 
5 | phases:
6 | - template: ../templates/project-ci.yml
7 | 


--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Contributing
2 | ======
3 | 
4 | Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo.
5 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicApi/Models/Category.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace BasicApi.Models
 5 | {
 6 |     public class Category
 7 |     {
 8 |         public int Id { get; set; }
 9 | 
10 |         public string Name { get; set; }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicApi/Models/Image.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace BasicApi.Models
 5 | {
 6 |     public class Image
 7 |     {
 8 |         public int Id { get; set; }
 9 | 
10 |         public string Url { get; set; }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicApi/Models/Tag.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace BasicApi.Models
 5 | {
 6 |     public class Tag
 7 |     {
 8 |         public int Id { get; set; }
 9 | 
10 |         public string Name { get; set; }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicApi/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 |   "configProperties": {
3 |     "System.GC.Server": true
4 |   }
5 | }
6 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout";
3 | }
4 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/post.lua:
--------------------------------------------------------------------------------
1 | -- script that POSTs body for requests
2 | 
3 | function init(args)
4 |     wrk.body = "Age=12&BirthDate=2006-03-01T09%3A51%3A43.041-07%3A00&Name=George"
5 |     wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"
6 |     wrk.method = "POST"
7 | end
8 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 |   "configProperties": {
3 |     "System.GC.Server": true
4 |   }
5 | }
6 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/web.config:
--------------------------------------------------------------------------------
 1 | <?xml version="1.0" encoding="utf-8"?>
 2 | <configuration>
 3 |   <system.webServer>
 4 |     <handlers>
 5 |       <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
 6 |     </handlers>
 7 |     <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" forwardWindowsAuthToken="false" stdoutLogEnabled="false" />
 8 |   </system.webServer>
 9 | </configuration>
10 | 


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/wwwroot/css/site.css:
--------------------------------------------------------------------------------
1 | label {
2 |     font-size: 1.2em;
3 | }
4 | .test-it {
5 |     float: right;
6 | }


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/wwwroot/css/site.min.css:
--------------------------------------------------------------------------------
1 | label {
2 |     font-size: 1.3em;
3 | }
4 | .test-it {
5 |     float: right;
6 | }


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | console.log("Hello World");
2 | function test() {
3 | }


--------------------------------------------------------------------------------
/benchmarkapps/BasicViews/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
1 | console.log("Hello Minified World");
2 | function test() {
3 | }


--------------------------------------------------------------------------------
/benchmarkapps/RazorRendering/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | 
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers


--------------------------------------------------------------------------------
/benchmarkapps/RazorRendering/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout";
3 | }


--------------------------------------------------------------------------------
/benchmarkapps/RazorRendering/Readme.md:
--------------------------------------------------------------------------------
1 | Url: /Category/PageA


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/ViewAssemblyMarker.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Performance
2 | {
3 |     public class ViewAssemblyMarker
4 |     {
5 |     }
6 | }


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelloWorld.cshtml:
--------------------------------------------------------------------------------
1 | Hello world


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperDynamic.cshtml:
--------------------------------------------------------------------------------
1 | @using System;
2 | @using Microsoft.AspNetCore.Html
3 | @model System.String
4 | @{Func<dynamic, IHtmlContent> SomeHelper = @<text>@{
5 | @item
6 | }</text>;}
7 | @for (var i = 0; i < 100; i++){@SomeHelper(Model + i.ToString())}


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperExtensions.cshtml:
--------------------------------------------------------------------------------
 1 | @using System;
 2 | @using Microsoft.AspNetCore.Html
 3 | @model System.String
 4 | @{
 5 |     var SomeHelper = this.Helper((string s) => @<text>@item</text>);
 6 | }
 7 | @for (var i = 0; i < 100; i++)
 8 | {
 9 |     @SomeHelper(Model + i.ToString())
10 | }


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartialAsync.cshtml:
--------------------------------------------------------------------------------
1 | @using System;
2 | @using Microsoft.AspNetCore.Html
3 | @model System.String
4 | @for (var i = 0; i < 100; i++)
5 | {
6 |     await Html.RenderPartialAsync("~/Views/HelperPartial_Partial.cshtml", Model + i.ToString());
7 | }


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartialSync.cshtml:
--------------------------------------------------------------------------------
1 | @using System;
2 | @using Microsoft.AspNetCore.Html
3 | @model System.String
4 | @for (var i = 0; i < 100; i++)
5 | {
6 |     Html.RenderPartial("~/Views/HelperPartial_Partial.cshtml", Model + i.ToString());
7 | }


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartialTagHelper.cshtml:
--------------------------------------------------------------------------------
1 | @using System;
2 | @using Microsoft.AspNetCore.Html
3 | @model System.String
4 | @addTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.PartialTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers
5 | @for (var i = 0; i < 100; i++)
6 | {<partial name="~/Views/HelperPartial_Partial.cshtml" model="@(Model + i.ToString())" />}


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperPartial_Partial.cshtml:
--------------------------------------------------------------------------------
1 | @model System.String
2 | @Model


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance.Views/Views/HelperTyped.cshtml:
--------------------------------------------------------------------------------
1 | @using System;
2 | @using Microsoft.AspNetCore.Html
3 | @model System.String
4 | @{Func<string, IHtmlContent> SomeHelper = @<text>@{
5 | @item
6 | }</text>;}
7 | @for (var i = 0; i < 100; i++){@SomeHelper(Model + i.ToString())}


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | [assembly: BenchmarkDotNet.Attributes.AspNetCoreBenchmark]
2 | 


--------------------------------------------------------------------------------
/benchmarks/Microsoft.AspNetCore.Mvc.Performance/readme.md:
--------------------------------------------------------------------------------
 1 | Compile the solution in Release mode (so binaries are available in release)
 2 | 
 3 | To run a specific benchmark add it as parameter
 4 | ```
 5 | dotnet run -c Release <benchmark_name>
 6 | ```
 7 | To run all use `All` as parameter
 8 | ```
 9 | dotnet run -c Release All
10 | ```
11 | Using no parameter will list all available benchmarks


--------------------------------------------------------------------------------
/build.cmd:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
3 | 


--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | 
3 | set -euo pipefail
4 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5 | 
6 | # Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
7 | chmod +x "$DIR/run.sh"; sync
8 | "$DIR/run.sh" default-build "$@"
9 | 


--------------------------------------------------------------------------------
/build/Key.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aspnet/Mvc/04ce6cae44fb0cb11470c21769d41e3f8088e8aa/build/Key.snk


--------------------------------------------------------------------------------
/build/buildpipeline/linux.groovy:
--------------------------------------------------------------------------------
 1 | @Library('dotnet-ci') _
 2 | 
 3 | simpleNode('Ubuntu16.04', 'latest-or-auto-docker') {
 4 |     stage ('Checking out source') {
 5 |         checkout scm
 6 |     }
 7 |     stage ('Build') {
 8 |         sh './build.sh --ci'
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/build/buildpipeline/osx.groovy:
--------------------------------------------------------------------------------
 1 | @Library('dotnet-ci') _
 2 | 
 3 | simpleNode('OSX10.12','latest') {
 4 |     stage ('Checking out source') {
 5 |         checkout scm
 6 |     }
 7 |     stage ('Build') {
 8 |         sh './build.sh --ci'
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/build/buildpipeline/windows.groovy:
--------------------------------------------------------------------------------
 1 | @Library('dotnet-ci') _
 2 | 
 3 | // 'node' indicates to Jenkins that the enclosed block runs on a node that matches
 4 | // the label 'windows-with-vs'
 5 | simpleNode('Windows_NT','latest') {
 6 |     stage ('Checking out source') {
 7 |         checkout scm
 8 |     }
 9 |     stage ('Build') {
10 |         bat '.\\run.cmd -CI default-build'
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/buildWithProcDump.cmd:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0runWithProcDump.ps1' %*; exit $LASTEXITCODE"
3 | 


--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 |     "sdk": {
3 |         "version": "3.0.100-preview-009750"
4 |     },
5 |     "msbuild-sdks": {
6 |         "Internal.AspNetCore.Sdk": "3.0.0-build-20181114.5"
7 |     }
8 | }
9 | 


--------------------------------------------------------------------------------
/korebuild-lock.txt:
--------------------------------------------------------------------------------
1 | version:3.0.0-build-20181114.5
2 | commithash:880e9a204d4ee4a18dfd83c9fb05a192a28bca60
3 | 


--------------------------------------------------------------------------------
/korebuild.json:
--------------------------------------------------------------------------------
1 | {
2 |   "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
3 |   "channel": "master"
4 | }
5 | 


--------------------------------------------------------------------------------
/run.cmd:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
3 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 |   "directory": "wwwroot/lib"
3 | }
4 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore everything
2 | *
3 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/Models/Index.cs:
--------------------------------------------------------------------------------
1 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @namespace MvcSandbox.Pages
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ Layout = "_Layout";}


--------------------------------------------------------------------------------
/samples/MvcSandbox/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
 1 | @{
 2 |     ViewData["Title"] = "Home Page";
 3 | }
 4 | 
 5 | <div class="row">
 6 |     <div class="col-md-3">
 7 |         <h2>Sandbox</h2>
 8 |         <ul>
 9 |             <li>This sandbox should give you a quick view of a basic MVC application.</li>
10 |         </ul>
11 |     </div>
12 | </div>
13 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using MvcSandbox
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | 


--------------------------------------------------------------------------------
/samples/MvcSandbox/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout";
3 | }
4 | 


--------------------------------------------------------------------------------
/src/Directory.Build.props:
--------------------------------------------------------------------------------
1 | <Project>
2 |   <Import Project="..\Directory.Build.props" />
3 | 
4 |   <ItemGroup>
5 |     <PackageReference Include="Internal.AspNetCore.Analyzers" PrivateAssets="All" Version="$(InternalAspNetCoreAnalyzersPackageVersion)" />
6 |   </ItemGroup>
7 | </Project>
8 | 


--------------------------------------------------------------------------------
/src/GetDocumentInsider/CommandLineUtils/CommandOptionType.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.DotNet.Cli.CommandLine
 5 | {
 6 |     internal enum CommandOptionType
 7 |     {
 8 |         MultipleValue,
 9 |         SingleValue,
10 |         BoolValue,
11 |         NoValue
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Abstractions/Filters/IFilterMetadata.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Filters
 5 | {
 6 |     /// <summary>
 7 |     /// Marker interface for filters handled in the MVC request pipeline.
 8 |     /// </summary>
 9 |     public interface IFilterMetadata
10 |     {
11 |     }
12 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Abstractions/ModelBinding/ModelValidationState.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ModelBinding
 5 | {
 6 |     public enum ModelValidationState
 7 |     {
 8 |         Unvalidated,
 9 |         Invalid,
10 |         Valid,
11 |         Skipped
12 |     }
13 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Abstractions/ModelBinding/Validation/IClientModelValidator.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ModelBinding.Validation
 5 | {
 6 |     public interface IClientModelValidator
 7 |     {
 8 |         void AddValidation(ClientModelValidationContext context);
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IApiExplorerModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels
 5 | {
 6 |     public interface IApiExplorerModel
 7 |     {
 8 |         ApiExplorerModel ApiExplorer { get; set; }
 9 |     }
10 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IBindingModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc.ModelBinding;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels
 7 | {
 8 |     public interface IBindingModel
 9 |     {
10 |         BindingInfo BindingInfo { get; set; }
11 |     }
12 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IFilterModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Collections.Generic;
 5 | using Microsoft.AspNetCore.Mvc.Filters;
 6 | 
 7 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels
 8 | {
 9 |     public interface IFilterModel
10 |     {
11 |         IList<IFilterMetadata> Filters { get; }
12 |     }
13 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/ApplicationModels/IPropertyModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Collections.Generic;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.ApplicationModels
 7 | {
 8 |     public interface IPropertyModel
 9 |     {
10 |         IDictionary<object, object> Properties { get; }
11 |     }
12 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/Formatters/HttpParseResult.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Formatters
 5 | {
 6 |     internal enum HttpParseResult
 7 |     {
 8 |         Parsed,
 9 |         NotParsed,
10 |         InvalidFormat,
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/Infrastructure/IActionContextAccessor.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Infrastructure
 5 | {
 6 |     public interface IActionContextAccessor
 7 |     {
 8 |         ActionContext ActionContext { get; set; }
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/Routing/IActionHttpMethodProvider.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Collections.Generic;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Routing
 7 | {
 8 |     public interface IActionHttpMethodProvider
 9 |     {
10 |         IEnumerable<string> HttpMethods { get; }
11 |     }
12 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Core/Routing/IConsumesMetadata.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Collections.Generic;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Routing
 7 | {
 8 |     internal interface IConsumesMetadata
 9 |     {
10 |         IReadOnlyList<string> ContentTypes { get; }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Cors/breakingchanges.netcore.json:
--------------------------------------------------------------------------------
1 | [
2 |   {
3 |     "TypeId": "public class Microsoft.AspNetCore.Mvc.Cors.CorsAuthorizationFilter : Microsoft.AspNetCore.Mvc.Cors.Internal.ICorsAuthorizationFilter",
4 |     "Kind": "Removal"
5 |   }
6 | ]
7 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Localization/IViewLocalizer.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Localization
 5 | {
 6 |     /// <summary>
 7 |     /// Represents a type that provides HTML-aware localization for views.
 8 |     /// </summary>
 9 |     public interface IViewLocalizer : IHtmlLocalizer
10 |     {
11 |     }
12 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Razor/Compilation/IViewCompiler.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Threading.Tasks;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Razor.Compilation
 7 | {
 8 |     public interface IViewCompiler
 9 |     {
10 |         Task<CompiledViewDescriptor> CompileAsync(string relativePath);
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Razor/Compilation/IViewCompilerProvider.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Razor.Compilation
 5 | {
 6 |     public interface IViewCompilerProvider
 7 |     {
 8 |         IViewCompiler GetCompiler();
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Razor/IModelTypeProvider.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Razor
 7 | {
 8 |     internal interface IModelTypeProvider
 9 |     {
10 |         Type GetModelType();
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Razor/Internal/RazorInjectAttribute.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Razor.Internal
 7 | {
 8 |     [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
 9 |     public class RazorInjectAttribute : Attribute
10 |     {
11 |     }
12 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.Razor/RenderAsyncDelegate.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 | 
4 | using System.Threading.Tasks;
5 | 
6 | namespace Microsoft.AspNetCore.Mvc.Razor
7 | {
8 |     public delegate Task RenderAsyncDelegate();
9 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/IPageHandlerMethodSelector.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure
 5 | {
 6 |     public interface IPageHandlerMethodSelector
 7 |     {
 8 |         HandlerMethodDescriptor Select(PageContext context);
 9 |     }
10 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/PageHandlerExecutorDelegate.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Threading.Tasks;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure
 7 | {
 8 |     internal delegate Task<IActionResult> PageHandlerExecutorDelegate(object handler, object[] arguments);
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.RazorPages/Page.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.RazorPages
 5 | {
 6 |     /// <summary>
 7 |     /// A base class for a Razor page.
 8 |     /// </summary>
 9 |     public abstract class Page : PageBase
10 |     {
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.TagHelpers/_grunt.readme:
--------------------------------------------------------------------------------
1 | To recreate minified js files, rename _gruntfile.js to gruntfile.js, _package.json to package.json, and run build.


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.TagHelpers/_package.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "version": "1.0.0",
 3 |     "name": "Microsoft.AspNetCore.Mvc.TagHelpers",
 4 |     "private": true,
 5 |     "devDependencies": {
 6 |         "grunt": "~0.4.5",
 7 |         "grunt-contrib-jshint": "~0.11.0",
 8 |         "grunt-contrib-uglify": "~0.7.0"
 9 |     }
10 | }


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.TagHelpers/compiler/resources/LinkTagHelper_FallbackJavaScript.js:
--------------------------------------------------------------------------------
1 | !function(a,b,c,d){var e,f=document,g=f.getElementsByTagName("SCRIPT"),h=g[g.length-1].previousElementSibling,i=f.defaultView&&f.defaultView.getComputedStyle?f.defaultView.getComputedStyle(h):h.currentStyle;if(i&&i[a]!==b)for(e=0;e<c.length;e++)f.write('<link href="'+c[e]+'" '+d+"/>")}();


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Buffers/ICharBufferSource.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers
 5 | {
 6 |     internal interface ICharBufferSource
 7 |     {
 8 |         char[] Rent(int bufferSize);
 9 | 
10 |         void Return(char[] buffer);
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Filters/IViewDataValuesProviderFeature.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Filters
 5 | {
 6 |     internal interface IViewDataValuesProviderFeature
 7 |     {
 8 |         void ProvideViewDataValues(ViewDataDictionary viewData);
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/InputType.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures
 5 | {
 6 |     public enum InputType
 7 |     {
 8 |         CheckBox,
 9 |         Hidden,
10 |         Password,
11 |         Radio,
12 |         Text
13 |     }
14 | }
15 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Rendering/FormMethod.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Rendering
 5 | {
 6 |     public enum FormMethod
 7 |     {
 8 |         Get,
 9 |         Post
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Rendering/TagRenderMode.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.Rendering
 5 | {
 6 |     public enum TagRenderMode
 7 |     {
 8 |         Normal,
 9 |         StartTag,
10 |         EndTag,
11 |         SelfClosing
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/TryGetValueDelegate.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 | 
4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures
5 | {
6 |     public delegate bool TryGetValueDelegate(object dictionary, string key, out object value);
7 | }
8 | 


--------------------------------------------------------------------------------
/src/Microsoft.AspNetCore.Mvc.ViewFeatures/ViewComponents/IViewComponentInvokerFactory.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ViewComponents
 5 | {
 6 |     public interface IViewComponentInvokerFactory
 7 |     {
 8 |         IViewComponentInvoker CreateInstance(ViewComponentContext context);
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.Core.Test/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 |   "shadowCopy": false
3 | }
4 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.DataAnnotations.Test/TestModelNameProvider.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc.ModelBinding;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.DataAnnotations
 7 | {
 8 |     public class TestModelNameProvider : IModelNameProvider
 9 |     {
10 |         public string Name { get; set; }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.Formatters.Xml.Test/Models/Person.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Formatters.Xml
 7 | {
 8 |     public class Person
 9 |     {
10 |         public int Id { get; set; }
11 | 
12 |         public string Name { get; set; }
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.Formatters.Xml.Test/Models/PersonList.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Collections.Generic;
 5 | 
 6 | namespace Microsoft.AspNetCore.Mvc.Formatters.Xml
 7 | {
 8 |     public class PersonList : List<Person>
 9 |     {
10 |     }
11 | }


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/Infrastructure/TestCulture.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.FunctionalTests
 5 | {
 6 |     public class TestCulture
 7 |     {
 8 |         public string Culture { get; set; }
 9 |         public string UICulture { get; set; }
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.Home.ActionLinkView.html:
--------------------------------------------------------------------------------
1 | <!doctype html>
2 | <html>
3 | <head>
4 |     <title>Action Link with non unicode host</title>
5 | </head>
6 | <body>
7 |     <a href="http://ping&#xFC;ino/Home/ActionLinkView">Ping&#xFC;ino</a>
8 | </body>
9 | </html>


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.Home.PlainView.html:
--------------------------------------------------------------------------------
1 | Plain View


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.Home.ViewWithPrefixedAttributeValue.html:
--------------------------------------------------------------------------------
1 | 
2 | <span foo="   abc" />
3 | <span bar="   Baz" />
4 | <span baz="   Baz   Baz" />


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/BasicWebSite.PassThrough.Index.html:
--------------------------------------------------------------------------------
1 | <p>The passed through value was: 123</p>


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/HtmlGenerationWebSite.HtmlGeneration_Home.PartialTagHelperWithoutModel.html:
--------------------------------------------------------------------------------
1 | PartialTagHelperWithoutModel: Hello from partial


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/RazorWebSite.AddTagHelperComponent.AddComponent.html:
--------------------------------------------------------------------------------
1 | <head inject>
2 | Hello from Head Tag Helper Component
3 | <script>'This was injected!!'</script></head>
4 | <body inject>
5 | Hello from Body Tag Helper Component
6 | Processed TagHelperComponent added from controller.<script>'This was injected!!'</script>Processed TagHelperComponent added from view.</body>


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/RazorWebSite.TagHelperComponent.Body.html:
--------------------------------------------------------------------------------
1 | <body inject="true">
2 | Hello from Body Tag Helper Component
3 | <p>NewValue</p>
4 | <script>'This was injected!!'</script></body>


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/RazorWebSite.TagHelperComponent.Head.html:
--------------------------------------------------------------------------------
1 | <head inject="true">
2 | Hello from Head Tag Helper Component
3 | <script>'This was injected!!'</script></head>


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/compiler/resources/TagHelpersWebSite.Employee.DuplicateAntiforgeryTokenRegistration.html:
--------------------------------------------------------------------------------
1 | <html>
2 | <body>
3 |     <form action="/Employee/DuplicateAntiforgeryTokenRegistration" method="post"><input name="__RequestVerificationToken" type="hidden" value="{0}" /></form>
4 | </body>
5 | </html>


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.FunctionalTests/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 |   "diagnosticMessages": true,
3 |   "shadowCopy": false,
4 |   "longRunningTestSeconds": 60
5 | }
6 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.Razor.Test/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 |   "shadowCopy": false
3 | }
4 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.Test/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 |   "shadowCopy": false
3 | }
4 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyActionContext.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyActionContext
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyActionDescriptor.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyActionDescriptor
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyActionResult.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyActionResult
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyHttpContext.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyHttpContext
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyPage.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyPage
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyView.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyView
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyViewComponentContext.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyViewComponentContext
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyViewComponentResult.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyViewComponentResult
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/IProxyViewContext.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc
 5 | {
 6 |     public interface IProxyViewContext
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.TestDiagnosticListener/Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj:
--------------------------------------------------------------------------------
 1 | <Project Sdk="Internal.AspNetCore.Sdk">
 2 | 
 3 |   <PropertyGroup>
 4 |     <TargetFramework>netcoreapp3.0</TargetFramework>
 5 |   </PropertyGroup>
 6 | 
 7 |   <ItemGroup>
 8 |     <PackageReference Include="Microsoft.Extensions.DiagnosticAdapter" Version="$(MicrosoftExtensionsDiagnosticAdapterPackageVersion)" />
 9 |   </ItemGroup>
10 | </Project>
11 | 


--------------------------------------------------------------------------------
/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/Model/Model.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Model
 5 | {
 6 |     public class Model
 7 |     {
 8 |         public string Name { get; set; }
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/AttributesShouldNotBeAppliedToPageModelAnalyzerTest/DiagnosticsAreReturned_IfRouteAttribute_IsAppliedToPageModel.cs:
--------------------------------------------------------------------------------
 1 | using Microsoft.AspNetCore.Mvc.RazorPages;
 2 | 
 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers.Test
 4 | {
 5 |     [/*MM*/Route("/mypage")]
 6 |     public class DiagnosticsAreReturned_IfRouteAttribute_IsAppliedToPageModel : PageModel
 7 |     {
 8 |         public void OnGet()
 9 |         {
10 |         }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/AttributesShouldNotBeAppliedToPageModelAnalyzerTest/DiagnosticsAreReturned_IfRouteAttributesAreAppliedToPageHandlerMethod.cs:
--------------------------------------------------------------------------------
 1 | using Microsoft.AspNetCore.Mvc.RazorPages;
 2 | 
 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers.Test
 4 | {
 5 |     public class DiagnosticsAreReturned_IfRouteAttributesAreAppliedToPageHandlerMethod : PageModel
 6 |     {
 7 |         [/*MM*/HttpHead]
 8 |         public void OnGet()
 9 |         {
10 |         }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_OnMethodWithoutAttributes.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
2 | {
3 |     public class GetAttributes_OnMethodWithoutAttributesClass
4 |     {
5 |         public void Method() { }
6 |     }
7 | }
8 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_OnTypeWithAttributes.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
 2 | {
 3 |     [ApiConventionType(typeof(object))]
 4 |     [ApiController]
 5 |     [ApiConventionType(typeof(string))]
 6 |     public class GetAttributes_OnTypeWithAttributes
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_OnTypeWithoutAttributes.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | 
3 | namespace Microsoft.AspNetCore.Mvc.Analyzers
4 | {
5 |     public class GetAttributes_OnTypeWithoutAttributesType
6 |     {
7 |     }
8 | }
9 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/GetAttributes_WithoutMethodOverriding.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
2 | {
3 |     public class GetAttributes_WithoutMethodOverriding
4 |     {
5 |         [ProducesResponseType(201)]
6 |         public void Method() { }
7 |     }
8 | }
9 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/HasAttribute_ReturnsTrueForAttributesOnMethods.cs:
--------------------------------------------------------------------------------
 1 | using System;
 2 | 
 3 | namespace Microsoft.AspNetCore.Mvc.Analyzers
 4 | {
 5 |     public class HasAttribute_ReturnsTrueForAttributesOnMethodsAttribute : Attribute { }
 6 | 
 7 |     public class HasAttribute_ReturnsTrueForAttributesOnMethodsTest
 8 |     {
 9 |         [HasAttribute_ReturnsTrueForAttributesOnMethodsAttribute]
10 |         public void SomeMethod() { }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/HasAttribute_ReturnsTrueIfBaseTypeHasAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
2 | {
3 |     [Controller]
4 |     public class HasAttribute_ReturnsTrueIfBaseTypeHasAttributeBase { }
5 | 
6 |     public class HasAttribute_ReturnsTrueIfBaseTypeHasAttribute : HasAttribute_ReturnsTrueIfBaseTypeHasAttributeBase { }
7 | }
8 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/HasAttribute_ReturnsTrueIfTypeHasAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
2 | {
3 |     [Controller]
4 |     public class HasAttribute_ReturnsTrueIfTypeHasAttribute { }
5 | }
6 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsFalseForDifferentTypes.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
 2 | {
 3 |     public class IsAssignable_ReturnsFalseForDifferentTypesA
 4 |     {
 5 |     }
 6 | 
 7 |     public class IsAssignable_ReturnsFalseForDifferentTypesB
 8 |     {
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsTrueIfTypeImplementsInterface.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
 2 | {
 3 |     public interface IsAssignable_ReturnsTrueIfTypeImplementsInterface
 4 |     {
 5 |     }
 6 | 
 7 |     public class IsAssignable_ReturnsTrueIfTypeImplementsInterfaceTest : IsAssignable_ReturnsTrueIfTypeImplementsInterface { }
 8 | 
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsTrueIfTypeIsBaseClass.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
 2 | {
 3 |     public class IsAssignable_ReturnsTrueIfTypeIsBaseClassBase
 4 |     {
 5 |     }
 6 | 
 7 |     public class IsAssignable_ReturnsTrueIfTypeIsBaseClass : IsAssignable_ReturnsTrueIfTypeIsBaseClassBase
 8 |     {
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/CodeAnalysisExtensionsTest/IsAssignable_ReturnsTrueIfTypesAreExact.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Analyzers
2 | {
3 |     public class IsAssignable_ReturnsTrueIfTypesAreExact
4 |     {
5 |     }
6 | }
7 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresFields.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles
 2 | {
 3 |     public class IsProblematicParameter_IgnoresFields
 4 |     {
 5 |         public string model;
 6 | 
 7 |         public void ActionMethod(IsProblematicParameter_IgnoresFields model) { }
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresMethods.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles
 2 | {
 3 |     public class IsProblematicParameter_IgnoresMethods
 4 |     {
 5 |         public string Item() => null;
 6 | 
 7 |         public void ActionMethod(IsProblematicParameter_IgnoresMethods item) { }
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresNonPublicProperties.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles
 2 | {
 3 |     public class IsProblematicParameter_IgnoresNonPublicProperties
 4 |     {
 5 |         protected string Model { get; set; }
 6 | 
 7 |         public void ActionMethod(IsProblematicParameter_IgnoresNonPublicProperties model) { }
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_IgnoresStaticProperties.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles
 2 | {
 3 |     public class IsProblematicParameter_IgnoresStaticProperties
 4 |     {
 5 |         public static string Model { get; set; }
 6 | 
 7 |         public void ActionMethod(IsProblematicParameter_IgnoresStaticProperties model) { }
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/TestFiles/TopLevelParameterNameAnalyzerTest/IsProblematicParameter_ReturnsFalse_ForFromBodyParameter.cs:
--------------------------------------------------------------------------------
 1 | namespace Microsoft.AspNetCore.Mvc.Analyzers.TopLevelParameterNameAnalyzerTestFiles
 2 | {
 3 |     public class IsProblematicParameter_ReturnsFalse_ForFromBodyParameter
 4 |     {
 5 |         public string Model { get; set; }
 6 | 
 7 |         public void ActionMethod([FromBody] IsProblematicParameter_ReturnsFalse_ForFromBodyParameter model) { }
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/Mvc.Analyzers.Test/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 |   "shadowCopy": false
3 | }
4 | 


--------------------------------------------------------------------------------
/test/Mvc.Api.Analyzers.Test/TestFiles/ApiControllerFactsTest/IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssembly.cs:
--------------------------------------------------------------------------------
 1 | using Microsoft.AspNetCore.Mvc;
 2 | 
 3 | [assembly: ApiController]
 4 | 
 5 | namespace Microsoft.AspNetCore.Mvc.Api.Analyzers.TestFiles.ApiControllerFactsTest
 6 | {
 7 |     public class IsApiControllerAction_ReturnsTrue_IfAttributeIsDeclaredOnAssemblyController : ControllerBase
 8 |     {
 9 |         public IActionResult Action() => null;
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/test/Mvc.Api.Analyzers.Test/TestFiles/SymbolApiResponseMetadataProviderTest/GetErrorResponseType_ReturnsProblemDetails_IfNoAttributeIsDiscovered.cs:
--------------------------------------------------------------------------------
1 | namespace Microsoft.AspNetCore.Mvc.Api.Analyzers.TestFiles.SymbolApiResponseMetadataProviderTest
2 | {
3 |     public class GetErrorResponseType_ReturnsProblemDetails_IfNoAttributeIsDiscoveredController
4 |     {
5 |         public void Action() { }
6 |     }
7 | }
8 | 


--------------------------------------------------------------------------------
/test/MvcTests.ruleset:
--------------------------------------------------------------------------------
1 | <?xml version="1.0" encoding="utf-8"?>
2 | <RuleSet Name="Rules for MVC Tests" Description="Code analysis rules for MVC Tests" ToolsVersion="15.0">
3 |   <Rules AnalyzerId="xunit.analyzers" RuleNamespace="xunit.analyzers">
4 |     <!-- 
5 |       This code is produced when theory parameters that are unused. Normally, this is a warning which causes our build to fail.
6 |     -->
7 |     <Rule Id="xUnit1026" Action="Info" />
8 |   </Rules>
9 | </RuleSet>


--------------------------------------------------------------------------------
/test/WebSites/ApiExplorerWebSite/Models/Customer.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 | 
4 | namespace ApiExplorerWebSite
5 | {
6 |     public class Customer
7 |     {
8 |     }
9 | }


--------------------------------------------------------------------------------
/test/WebSites/ApiExplorerWebSite/PassThruAttribute.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System;
 5 | 
 6 | namespace ApiExplorerWebSite
 7 | {
 8 |     [AttributeUsage(AttributeTargets.Method)]
 9 |     public class PassThruAttribute : Attribute
10 |     {
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/WebSites/ApiExplorerWebSite/ReloadAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | 
3 | namespace ApiExplorerWebSite
4 | {
5 |     public class ReloadAttribute : Attribute
6 |     {
7 |     }
8 | }
9 | 


--------------------------------------------------------------------------------
/test/WebSites/ApiExplorerWebSite/WellKnownChangeToken.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Threading;
 5 | 
 6 | namespace ApiExplorerWebSite
 7 | {
 8 |     public class WellKnownChangeToken
 9 |     {
10 |        public CancellationTokenSource TokenSource { get; } = new CancellationTokenSource();
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/WebSites/ApiExplorerWebSite/readme.md:
--------------------------------------------------------------------------------
1 | ApiExplorerWebSite
2 | ===
3 | 
4 | This web site illustrates various ways to enable and disable api explorer discovery for actions.
5 | This also demonstrates how to consume api explorer data. 
6 | 


--------------------------------------------------------------------------------
/test/WebSites/ApplicationModelWebSite/Areas/Manage/Views/MultipleAreas/Index.cshtml:
--------------------------------------------------------------------------------
1 | Manage View


--------------------------------------------------------------------------------
/test/WebSites/ApplicationModelWebSite/Areas/Products/Views/MultipleAreas/Index.cshtml:
--------------------------------------------------------------------------------
1 | Products View


--------------------------------------------------------------------------------
/test/WebSites/ApplicationModelWebSite/Areas/Services/Views/MultipleAreas/Index.cshtml:
--------------------------------------------------------------------------------
1 | Services View
2 | 


--------------------------------------------------------------------------------
/test/WebSites/ApplicationModelWebSite/Views/ActionModel/Help.cshtml:
--------------------------------------------------------------------------------
1 | This is the help page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/ApplicationModelWebSite/Views/ActionModel/MoreHelp.cshtml:
--------------------------------------------------------------------------------
1 | This is the more help page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/ApplicationModelWebSite/readme.md:
--------------------------------------------------------------------------------
1 | ApplicationModelWebSite
2 | ===
3 | 
4 | This web site illustrates how to use customize application model by having custom implementations of 
5 | `IActionModelConvention`, `IControllerModelConvention` and `IParameterModelConvention`.
6 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Components/ViewDataViewComponent.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace BasicWebSite.Components
 7 | {
 8 |     public class ViewDataViewComponent : ViewComponent
 9 |     {
10 |         public IViewComponentResult Invoke() => View();
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Controllers/UsersController.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace BasicWebSite.Controllers
 7 | {
 8 |     public class UsersController : Controller
 9 |     {
10 |         public IActionResult Index()
11 |         {
12 |             return Content("Users.Index");
13 |         }
14 |     }
15 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Models/GenderType.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace BasicWebSite.Models
 5 | {
 6 |     public enum GenderType
 7 |     {
 8 |         Male,
 9 |         Female,
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Models/Person.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace BasicWebSite.Models
 5 | {
 6 |     public class Person
 7 |     {
 8 |         public int id { get; set; }
 9 | 
10 |         public string FullName { get; set; }
11 |     }
12 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Models/Product_Json.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 | 
4 | namespace BasicWebSite.Models
5 | {
6 |     public class Product_Json : Product
7 |     {
8 |     }
9 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Models/Product_Xml.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 | 
4 | namespace BasicWebSite.Models
5 | {
6 |     public class Product_Xml : Product
7 |     {
8 |     }
9 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Models/Product_text.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 | 
4 | namespace BasicWebSite.Models
5 | {
6 |     public class Product_Text : Product
7 |     {
8 |     }
9 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Operations.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Authorization.Infrastructure;
 5 | 
 6 | namespace BasicWebSite
 7 | {
 8 |     public static class Operations
 9 |     {
10 |         public static OperationAuthorizationRequirement Edit = new OperationAuthorizationRequirement { Name = "Edit" };
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Antiforgery/AntiforgeryTokenAndResponseCaching.cshtml:
--------------------------------------------------------------------------------
 1 | 
 2 | @{
 3 |     ViewData["Title"] = "Antiforgery token and response caching";
 4 | }
 5 | 
 6 | <h2>@ViewData["Title"]</h2>
 7 | 
 8 | @using (Html.BeginForm("Login", "Antiforgery", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
 9 | {
10 |     <label>Name</label>
11 |     <input type="text" name="Name" />
12 |     <input type="submit" />
13 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Antiforgery/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout.cshtml";
3 |     ViewData["Title"] = "Home Page";
4 | }
5 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Antiforgery/_LoginPartial.cshtml:
--------------------------------------------------------------------------------
1 | <ul class="nav navbar-nav navbar-right">
2 |     <li>@Html.ActionLink("Log in", "Login", "Antiforgery", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
3 | </ul>
4 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Home/ActionLinkView.cshtml:
--------------------------------------------------------------------------------
1 | <!doctype html>
2 | <html>
3 | <head>
4 |     <title>Action Link with non unicode host</title>
5 | </head>
6 | <body>
7 |     @Html.ActionLink("Pingüino", "ActionLinkView", "Home", "http", "pingüino", null, routeValues: null, htmlAttributes: null)
8 | </body>
9 | </html>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 |     ViewBag.Title = "Home Page";
4 | }
5 | 
6 | <div>
7 |     <h1>ASP.NET vNext</h1>
8 | </div>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Home/JsonHelperInView.cshtml:
--------------------------------------------------------------------------------
1 | <script type="text/javascript">
2 |     var json = @Json.Serialize(Model);
3 | </script>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Home/PlainView.cshtml:
--------------------------------------------------------------------------------
1 | Plain View


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Home/ViewWithPrefixedAttributeValue.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     var attrValue = "Baz";
3 | }
4 | 
5 | <span foo="   abc" />
6 | <span bar="   @attrValue" />
7 | <span baz="   @attrValue   @attrValue" />


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/ActionLink_ActionOnOtherController.cshtml:
--------------------------------------------------------------------------------
1 | @* Generate link to a different controller and with non-route parameters *@
2 | @Html.ActionLink("linktext", "Details", new { controller = "Products", print = "true" })


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/ActionLink_ActionOnSameController.cshtml:
--------------------------------------------------------------------------------
1 | @* Generate link to action on current controller *@
2 | @Html.ActionLink("linktext", "Details")


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/ActionLink_HostNameFragmentAttributes.cshtml:
--------------------------------------------------------------------------------
1 | @Html.ActionLink(
2 |     linkText: "linktext",
3 |     actionName: "Details",
4 |     controllerName: "Products",
5 |     protocol: "https",
6 |     hostname: "www.contoso.com:9000",
7 |     fragment: "details",
8 |     routeValues: new { print = "true" },
9 |     htmlAttributes: new { p1 = "p1-value" })


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/ActionLink_SecurePage_ImplicitHostName.cshtml:
--------------------------------------------------------------------------------
 1 | @* Notice that the 'hostname' here is null but the protocol is 'https'. Its a link to a secure page on this application *@
 2 | @Html.ActionLink(
 3 |     linkText: "linktext",
 4 |     actionName: "Details",
 5 |     controllerName: "Products",
 6 |     protocol: "https",
 7 |     hostname: null,
 8 |     fragment:null,
 9 |     routeValues: new { print = "true" },
10 |     htmlAttributes: null)


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/RouteLink_HostNameFragmentAttributes.cshtml:
--------------------------------------------------------------------------------
1 | @Html.RouteLink(
2 |     linkText: "linktext",
3 |     routeName:"OrdersApi",
4 |     protocol: "https",
5 |     hostName:"www.contoso.com:9000",
6 |     fragment: "details",
7 |     routeValues: new { controller = "Orders", id = 10, print = true },
8 |     htmlAttributes: new { p1 = "p1-value" })
9 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/RouteLink_RestLinkToOtherController.cshtml:
--------------------------------------------------------------------------------
1 | @Html.RouteLink("linktext", "OrdersApi", new { controller = "Orders", id = 10 })


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Links/RouteLink_SecureApi_ImplicitHostName.cshtml:
--------------------------------------------------------------------------------
1 | @Html.RouteLink(
2 |     linkText: "linktext",
3 |     routeName: "OrdersApi",
4 |     protocol: "https",
5 |     hostName:null,
6 |     fragment: null,
7 |     routeValues: new { controller = "Orders", id = 10 },
8 |     htmlAttributes: null)
9 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/PageRoute/AttributeRouteView.cshtml:
--------------------------------------------------------------------------------
1 | AttributeRoute - Hello from @ViewBag.Page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/PageRoute/ConventionalRouteView.cshtml:
--------------------------------------------------------------------------------
1 | ConventionalRoute - Hello from @ViewBag.Page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/RequestScopedService/TagHelper.cshtml:
--------------------------------------------------------------------------------
1 | @using BasicWebSite
2 | @addTagHelper BasicWebSite.RequestScopedTagHelper, BasicWebSite
3 | <request-scoped></request-scoped>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/RequestScopedService/View.cshtml:
--------------------------------------------------------------------------------
1 | @using BasicWebSite
2 | @inject RequestIdService RequestIdService
3 | @RequestIdService.RequestId


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/RequestScopedService/ViewComponent.cshtml:
--------------------------------------------------------------------------------
1 | @await Component.InvokeAsync("RequestId")


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Shared/Components/PassThrough/Default.cshtml:
--------------------------------------------------------------------------------
1 | @model long
2 | <p>The passed through value was: @Model</p>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Shared/Components/ViewData/Default.cshtml:
--------------------------------------------------------------------------------
1 | <html>
2 |     <head>
3 |         <title>@ViewData["Title"]</title>
4 |     </head>
5 |     <body>
6 |         <span id="message">@ViewData["Message"]</span>
7 |     </body>
8 | </html>
9 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 |     ViewBag.Title = "Error";
4 | }
5 | 
6 | <h1>Error.</h1>
7 | <h2>An error occurred while processing your request.</h2>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/TempData/DisplayTempData.cshtml:
--------------------------------------------------------------------------------
1 | @TempData["key"]


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/TempData/Index.cshtml:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | 
 3 | <html>
 4 | <head>
 5 |     <meta charset="utf-8" />
 6 |     <title>Hello</title>
 7 | </head>
 8 | <body>
 9 |     Hello
10 | </body>
11 | </html>


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/TempDataProperty/DetailsView.cshtml:
--------------------------------------------------------------------------------
1 | @model BasicWebSite.Models.Person
2 | @ViewData["Message"]@ViewData["NullableInt"] for person @Model.FullName with id @Model.id.
3 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/ViewDataProperty/ViewDataInViewComponent.cshtml:
--------------------------------------------------------------------------------
1 | Sample that shows value of ViewDataAttribute being passed to a ViewComponent
2 | <span class="view-data">@ViewData["Message"]</span>
3 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/ViewDataProperty/ViewDataPropertyToView.cshtml:
--------------------------------------------------------------------------------
1 | @{ Layout = "_Layout"; }
2 | Sample that shows ViewDataAttribute being applied to a controller
3 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/Views/ViewDataProperty/_Layout.cshtml:
--------------------------------------------------------------------------------
 1 | <html>
 2 |     <head>
 3 |         <title>@ViewData["Title"]</title>
 4 |     </head>
 5 |     <body>
 6 |         <span id="message">@ViewData["Message"]</span>
 7 |         <span id="filter-message">@ViewData["FilterMessage"]</span>
 8 |         @RenderBody()
 9 |     </body>
10 | </html>
11 | 


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/VndErrorAttribute.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System;
 5 | using Microsoft.AspNetCore.Mvc.Filters;
 6 | 
 7 | namespace BasicWebSite
 8 | {
 9 |     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
10 |     public class VndErrorAttribute : Attribute, IFilterMetadata
11 |     {
12 |     }
13 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/_bower.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "name": "BasicWebSite",
 3 |     "description": "Web site demonstrating various validations.",
 4 |     "private": true,
 5 |     "dependencies": {
 6 |         "jquery-validation-unobtrusive": "3.2.6"
 7 |     },
 8 |     "exportsOverride": {
 9 |         "jquery-validation-unobtrusive": {
10 |             "": "jquery.validate.unobtrusive.min.js"
11 |         },
12 |         "*": { }
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/_bower.readme:
--------------------------------------------------------------------------------
1 | To recreate minified JavaScript file,
2 | 
3 | 1. Update jquery-validation-unobtrusive version in _bower.json if necessary.
4 | 2. Rename or copy _bower.json to bower.json, _gruntfile.js to gruntfile.js, and _package.json to package.json.
5 | 3. Run build from the repo root. (Minimum command is `./build.sh --quiet run-grunt`.)
6 | 4. Remove bower.json, gruntfile.js and package.json.
7 | 5. Check in _bower.json and new jquery.validate.unobtrusive.min.js file.


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/_package.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "version": "0.0.0",
 3 |     "name": "BasicWebSite",
 4 |     "description": "Web site demonstrating various validations.",
 5 |     "private":  true,
 6 |     "devDependencies": {
 7 |         "grunt": "^0.4.5",
 8 |         "grunt-bower-task": "^0.4.0"
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/BasicWebSite/readme.md:
--------------------------------------------------------------------------------
1 | BasicWebSite
2 | ===
3 | 
4 | This web site illustrates many commonly used features including but not limited to
5 | link generation, action results and content negotiation, `RouteData` amongst others.
6 | 


--------------------------------------------------------------------------------
/test/WebSites/ControllersFromServicesClassLibrary/ControllersFromServicesClassLibrary.csproj:
--------------------------------------------------------------------------------
 1 | <Project Sdk="Microsoft.NET.Sdk">
 2 | 
 3 |   <PropertyGroup>
 4 |     <TargetFramework>netcoreapp3.0</TargetFramework>
 5 |     <PreserveCompilationContext>true</PreserveCompilationContext>
 6 |   </PropertyGroup>
 7 | 
 8 |   <ItemGroup>
 9 |     <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.csproj" />
10 |   </ItemGroup>
11 | </Project>
12 | 


--------------------------------------------------------------------------------
/test/WebSites/ControllersFromServicesClassLibrary/ResourcesController.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace ControllersFromServicesClassLibrary
 7 | {
 8 |     [Controller]
 9 |     [Route("/[controller]")]
10 |     public class ResourcesController
11 |     {
12 | 
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/WebSites/ControllersFromServicesWebSite/ValueService.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace ControllersFromServicesWebSite
 5 | {
 6 |     public class ValueService
 7 |     {
 8 |         public int Value { get; } = 3;
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/ControllersFromServicesWebSite/ViewData.cshtml:
--------------------------------------------------------------------------------
1 | <view-data>@ViewBag.Value</view-data>


--------------------------------------------------------------------------------
/test/WebSites/ControllersFromServicesWebSite/Views/Another/InServicesTagHelper.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, ControllersFromServicesWebSite
2 | <inservices></inservices>


--------------------------------------------------------------------------------
/test/WebSites/ControllersFromServicesWebSite/readme.md:
--------------------------------------------------------------------------------
1 | Functional test site for verifying that controllers registered as services can be consumed by DefaultControllerFactory.
2 | 


--------------------------------------------------------------------------------
/test/WebSites/CorsWebSite/readme.md:
--------------------------------------------------------------------------------
1 | CorsWebSite
2 | ===
3 | 
4 | This web site illustrates how to configure actions to allow/disallow cross origin requests.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/Directory.Build.props:
--------------------------------------------------------------------------------
1 | <Project>
2 |   <!-- Skip the parent folder to prevent getting test package references. -->
3 |   <Import Project="..\..\Directory.Build.props" />
4 | </Project>
5 | 


--------------------------------------------------------------------------------
/test/WebSites/ErrorPageMiddlewareWebSite/README.md:
--------------------------------------------------------------------------------
1 | ErrorPageMiddlewareWebSite
2 | ===
3 | 
4 | This web site illustrates how to register error page middleware.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorFromViewImports/Index.cshtml:
--------------------------------------------------------------------------------
1 | <h1>Hello world!</h1>


--------------------------------------------------------------------------------
/test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorFromViewImports/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using NamespaceDoesNotExist


--------------------------------------------------------------------------------
/test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorPageMiddleware/CompilationFailure.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     string x = 10;
3 | }


--------------------------------------------------------------------------------
/test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorPageMiddleware/ParserError.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     <span>
3 | }
4 | </span>


--------------------------------------------------------------------------------
/test/WebSites/ErrorPageMiddlewareWebSite/Views/ErrorPageMiddleware/RuntimeError.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |   throw new Exception("Error from view");
3 | }


--------------------------------------------------------------------------------
/test/WebSites/FSharpWebSite/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     ViewData["Title"] = "Home Page";
3 | }
4 | 
5 | <h1>Hello from FSharpWebSite</h1>
6 | 


--------------------------------------------------------------------------------
/test/WebSites/FSharpWebSite/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | <html>
 3 | <head>
 4 |     <title>@ViewData["Title"] - FSharpWebSite</title>
 5 | </head>
 6 | <body>
 7 |     @RenderBody()
 8 | </body>
 9 | </html>
10 | 


--------------------------------------------------------------------------------
/test/WebSites/FSharpWebSite/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using FSharpWebSite
2 | 


--------------------------------------------------------------------------------
/test/WebSites/FSharpWebSite/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout";
3 | }
4 | 


--------------------------------------------------------------------------------
/test/WebSites/FilesWebSite/EmbeddedResources/Greetings.txt:
--------------------------------------------------------------------------------
1 | Sample text file as embedded resource.


--------------------------------------------------------------------------------
/test/WebSites/FilesWebSite/readme.md:
--------------------------------------------------------------------------------
1 | FilesWebSite
2 | ===
3 | 
4 | This web site illustrates how to use `FileContentResult` via `File` method on the controller. It also demonstrates
5 | how to write and register a custom `FileSender` middleware. 
6 | 


--------------------------------------------------------------------------------
/test/WebSites/FilesWebSite/sample.txt:
--------------------------------------------------------------------------------
1 | This is a sample text file


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/Models/BaseModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace FormatterWebSite.Models
 5 | {
 6 |     public class BaseModel
 7 |     {
 8 |         public string BaseProperty { get; set; }
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/Models/DerivedDummyClass.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace FormatterWebSite
 5 | {
 6 |     public class DerivedDummyClass : DummyClass
 7 |     {
 8 |         public int SampleIntInDerived { get; set; }
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/Models/Developer.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.ComponentModel.DataAnnotations;
 5 | 
 6 | namespace FormatterWebSite
 7 | {
 8 |     public class Developer
 9 |     {
10 |         [Required]
11 |         public string Name { get; set; }
12 | 
13 |         public string Alias { get; set; }
14 |     }
15 | }


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/Models/IModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace FormatterWebSite.Models
 5 | {
 6 |     public interface IModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/Models/Product.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.Collections.Generic;
 5 | 
 6 | namespace FormatterWebSite
 7 | {
 8 |     public class Product
 9 |     {
10 |         public string Name { get; set; }
11 | 
12 |         public List<Review> Reviews { get; set; } = new List<Review>();
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/Models/Review.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace FormatterWebSite
 5 | {
 6 |     public class Review
 7 |     {
 8 |         public double Rating { get; set; }
 9 | 
10 |         public string Description { get; set; }
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/test/WebSites/FormatterWebSite/readme.md:
--------------------------------------------------------------------------------
1 | FormatterWebSite
2 | ===
3 | 
4 | This web site illustrates how to input formatters operate on the request body. It also demonstrates
5 | how custom options can be set for model validation.
6 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/PartialWithFallback.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | <partial name="_DoesNotExist" fallback-name="./_Fallback" />


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/PartialWithOptional.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | <div id="content"><partial name="_DoesNotExist" optional="true" /></div>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/_Fallback.cshtml:
--------------------------------------------------------------------------------
1 | <span id="content">Hello from fallback</span>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Areas/Customer/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
2 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/Customer.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public class Customer : Person
 7 |     {
 8 |         public string Key
 9 |         {
10 |             get;
11 |             set;
12 |         }
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/DayOfWeek.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public enum DayOfWeek
 7 |     {
 8 |         Monday,
 9 |         Tuesday,
10 |         Wednesday,
11 |         Thursday,
12 |         Friday,
13 |         Saturday,
14 |         Sunday
15 |     }
16 | }
17 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/Gender.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public enum Gender
 7 |     {
 8 |         Male,
 9 |         Female
10 |     }
11 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/Month.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System.ComponentModel.DataAnnotations;
 5 | 
 6 | namespace HtmlGenerationWebSite.Models
 7 | {
 8 |     public enum Month
 9 |     {
10 |         [Display(Name = "January")]
11 |         FirstOne,
12 |         LastOne
13 |     }
14 | }
15 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/PartialModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public class PartialModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/StatusMessageModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public class StatusMessageModel
 7 |     {
 8 |         public string Message { get; set; }
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/SuperTemplateModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public class SuperTemplateModel : TemplateModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/SuperViewModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public class SuperViewModel : ViewModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Models/TemplateModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace HtmlGenerationWebSite.Models
 5 | {
 6 |     public class TemplateModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
2 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/ConfirmPayment.cshtml:
--------------------------------------------------------------------------------
1 | <cache vary-by-route="region, section">
2 | @ViewBag.Message. (Region @ViewBag.Region)
3 | </cache>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/Deals.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.Extensions.Caching.Memory
2 | <cache enabled="ViewBag.IsEnabled">
3 |     Deal percentage is @ViewBag.ProductDealPercentage
4 | </cache>
5 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/Details.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.Extensions.Caching.Memory
2 | <cache expires-after="TimeSpan.FromSeconds(1)" priority="CacheItemPriority.Low">
3 | Cached content for @ViewBag.ProductId
4 | </cache>
5 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/ListCategories.cshtml:
--------------------------------------------------------------------------------
1 | @inject HtmlGenerationWebSite.ProductsService ProductsService
2 | <cache vary-by-route="category">
3 | Category: @ViewBag.Category
4 | <cache>Products: @string.Join(", ", ProductsService.GetProductNames(ViewBag.Category)) (@ViewBag.CorrelationId)</cache>
5 | </cache>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/PastPurchases.cshtml:
--------------------------------------------------------------------------------
1 | <cache vary-by-user="true">
2 | Past purchases for user @Context.User.Identity.Name (@ViewBag.CorrelationId)
3 | </cache>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/ShoppingCart.cshtml:
--------------------------------------------------------------------------------
1 | <cache vary-by-cookie="CartId">
2 | Cart content for @ViewBag.CorrelationId
3 | </cache>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/Splash.cshtml:
--------------------------------------------------------------------------------
1 | <h2>Category: @ViewBag.Category</h2>
2 | <h2>Region: @ViewBag.Locale</h2>
3 | <cache vary-by-header="Locale" vary-by-query="categoryid">
4 |     <h2>Cached content</h2>
5 |     @await Component.InvokeAsync("Splash")
6 |     @await Html.PartialAsync("_SplashPartial")
7 |     <div>CorrelationId in Splash: @ViewBag.CorrelationId</div>
8 | </cache>
9 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/_SplashPartial.cshtml:
--------------------------------------------------------------------------------
1 | <partial-title>Listing items</partial-title>
2 | <cache vary-by="@ViewBag.Category" data-content="some-content">
3 | Cached Content for @ViewBag.Category
4 | <div>CorrelationId in Partial: @ViewBag.CorrelationId</div>
5 | </cache>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Catalog_CacheTagHelper/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
2 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/EditorTemplates/GenderUsingHtmlHelpers.cshtml:
--------------------------------------------------------------------------------
1 | @using HtmlGenerationWebSite.Models
2 | @model Gender
3 | @Html.RadioButtonFor(m => m, value: "Male") Male
4 | @Html.RadioButton(expression: string.Empty, value: "Female") Female


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/EditorTemplates/GenderUsingTagHelpers.cshtml:
--------------------------------------------------------------------------------
1 | @using HtmlGenerationWebSite.Models
2 | @model Gender
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 | <input asp-for="@Model" type="radio" value="Male" /> Male
5 | <input asp-for="@Model" type="radio" value="Female" /> Female


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/Enum.cshtml:
--------------------------------------------------------------------------------
1 | @using HtmlGenerationWebSite.Models
2 | @model AClass
3 | @Html.DisplayFor(x => x.DayOfWeek)
4 | @Html.DisplayFor(x => x.Month)


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/ItemUsingModelSpecificEditorTemplate.cshtml:
--------------------------------------------------------------------------------
1 | @using HtmlGenerationWebSite.Models
2 | @model Item
3 | @Html.Editor(nameof(Model.Description))
4 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/ItemUsingSharedEditorTemplate.cshtml:
--------------------------------------------------------------------------------
1 | @using HtmlGenerationWebSite.Models
2 | @model Item
3 | @Html.EditorFor(model => model.Name)
4 | @Html.Editor("Id")
5 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/PartialTagHelperWithoutModel.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
2 | PartialTagHelperWithoutModel: <partial name="../Shared/_Partial" />


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/StatusMessage.cshtml:
--------------------------------------------------------------------------------
1 | @using HtmlGenerationWebSite.Models
2 | @model StatusMessageModel
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 | 
5 | <partial name="_StatusMessagePartial" model="Model.Message" />
6 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/Warehouse.cshtml:
--------------------------------------------------------------------------------
1 | @model HtmlGenerationWebSite.Models.Warehouse
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | 
4 | <h3>@Html.DisplayFor(m => m.City)</h3>
5 | <partial name="_EmployeePartial" for="Employee" />


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/_ProductRecommendations.cshtml:
--------------------------------------------------------------------------------
 1 | @using HtmlGenerationWebSite.Models
 2 | @model ProductRecommendations
 3 | 
 4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
 5 | 
 6 | <hr />
 7 | <h2>You might also like these products!</h2>
 8 | <ul>
 9 |     @foreach (var product in Model.Products)
10 |     {
11 |         <li><a href="@product.HomePage">@product.ProductName</a></li>
12 |     }
13 | </ul>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/HtmlGeneration_Home/_StatusMessagePartial.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 | <div class="banner">@Model</div>
3 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Shared/Components/Splash/Default.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
2 | @model string
3 | Locations closest to your locale:
4 | <cache vary-by-header="Locale">
5 | @Model
6 | <div>CorrelationId in View Component: @ViewBag.CorrelationId</div>
7 | </cache>


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Shared/EditorTemplates/Common.cshtml:
--------------------------------------------------------------------------------
1 | @Html.LabelFor(m => m, new { @class = "control-label col-md-2" })
2 | @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue)
3 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Shared/EditorTemplates/String.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 | @Html.LabelFor(m => m)
3 | @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue)
4 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/Views/Shared/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | Hello from partial
2 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/appRoot.css:
--------------------------------------------------------------------------------
1 | body::after {
2 |     display: block;
3 |     background-color: #ff0000;
4 |     color: #fff;
5 |     font-size: 1.2em;
6 |     margin-top: 2.4em;
7 |     content: "ERROR: Stylesheet 'appRoot.css' was loaded from outside webroot!";
8 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/appRoot.js:
--------------------------------------------------------------------------------
1 | alert("ERROR!! This should never be loaded");


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/readme.md:
--------------------------------------------------------------------------------
1 | HtmlGenerationWebSite
2 | ===
3 | 
4 | This web site illustrates how to use MVC HTML and tag helpers.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/images/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aspnet/Mvc/04ce6cae44fb0cb11470c21769d41e3f8088e8aa/test/WebSites/HtmlGenerationWebSite/wwwroot/images/red.png


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/.gitattributes:
--------------------------------------------------------------------------------
1 | site*.css eol=crlf
2 | site*.js  eol=crlf


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/site.css:
--------------------------------------------------------------------------------
1 | body::after {
2 |     display: block;
3 |     color: #0fa912;
4 |     margin-top: 2.4em;
5 |     content: "Stylesheet 'site.css' loaded successfully!";
6 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/site.js:
--------------------------------------------------------------------------------
1 | (function () {
2 |     var p = document.createElement("P");
3 |     p.appendChild(document.createTextNode("site.js loaded successfully!"));
4 |     p.style.color = "#0fa912";
5 |     document.body.appendChild(p);
6 | })();


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/siteIntegrity.css:
--------------------------------------------------------------------------------
1 | body::after {
2 |     display: block;
3 |     color: #0fa912;
4 |     margin-top: 2.4em;
5 |     content: "Stylesheet 'siteIntegrity.css' loaded successfully!";
6 | }
7 | 


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/siteIntegrity.js:
--------------------------------------------------------------------------------
1 | (function () {
2 |     var p = document.createElement("P");
3 |     p.appendChild(document.createTextNode("Integrity Script loaded successfully!"));
4 |     p.style.color = "#0fa912";
5 |     document.body.appendChild(p);
6 | })();


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site2.css:
--------------------------------------------------------------------------------
1 | body::after {
2 |     display: block;
3 |     color: #0fa912;
4 |     margin-top: 2.4em;
5 |     content: "Stylesheet 'site2.css' loaded successfully!";
6 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site2.js:
--------------------------------------------------------------------------------
1 | (function () {
2 |     var p = document.createElement("P");
3 |     p.appendChild(document.createTextNode("site2.js loaded successfully!"));
4 |     p.style.color = "#0fa912";
5 |     document.body.appendChild(p);
6 | })();


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site3.css:
--------------------------------------------------------------------------------
1 | body::after {
2 |     display: block;
3 |     background-color: #ff0000;
4 |     color: #fff;
5 |     margin-top: 2.4em;
6 |     content: "ERROR: Stylesheet 'site3.css' was loaded despite being excluded!";
7 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site3.js:
--------------------------------------------------------------------------------
1 | alert("ERROR!! This should never be loaded");


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/site3.min.css:
--------------------------------------------------------------------------------
1 | body::after {
2 |     display: block;
3 |     background-color: #ff0000;
4 |     color: #fff;
5 |     margin-top: 2.4em;
6 |     content: "ERROR: Stylesheet 'site3.min.css' was loaded despite being excluded!";
7 | }


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/siteIntegrity2.js:
--------------------------------------------------------------------------------
1 | (function () {
2 |     var p = document.createElement("P");
3 |     p.appendChild(document.createTextNode("Integrity Script loaded successfully!"));
4 |     p.style.color = "#0fa912";
5 |     document.body.appendChild(p);
6 | })();


--------------------------------------------------------------------------------
/test/WebSites/HtmlGenerationWebSite/wwwroot/styles/sub/siteIntegrity3.js:
--------------------------------------------------------------------------------
1 | (function () {
2 |     var p = document.createElement("P");
3 |     p.appendChild(document.createTextNode("Integrity Script with different hash loaded successfully!"));
4 |     p.style.color = "#0fa912";
5 |     document.body.appendChild(p);
6 | })();


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite.PrecompiledViews/Pages/Precompilation/Page_Model.cs:
--------------------------------------------------------------------------------
 1 | 
 2 | using Microsoft.AspNetCore.Mvc.RazorPages;
 3 | 
 4 | namespace RazorBuildWebSite.Pages.Precompilation
 5 | {
 6 |     public class Page_Model : PageModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite.PrecompiledViews/RazorBuildWebSite.PrecompiledViews.csproj:
--------------------------------------------------------------------------------
 1 | <Project Sdk="Microsoft.NET.Sdk">
 2 | 
 3 |   <PropertyGroup>
 4 |     <TargetFramework>netcoreapp3.0</TargetFramework>
 5 |     <DefineConstants>$(DefineConstants)</DefineConstants>
 6 |   </PropertyGroup>
 7 | 
 8 |   <ItemGroup>
 9 |     <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.csproj" />
10 |   </ItemGroup>
11 | 
12 | </Project>
13 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite.Views/Pages/Rzc/Page_Model.cs:
--------------------------------------------------------------------------------
 1 | 
 2 | using Microsoft.AspNetCore.Mvc.RazorPages;
 3 | 
 4 | namespace RazorBuildWebSite.Pages.Rzc
 5 | {
 6 |     public class Page_Model : PageModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite.Views/RazorBuildWebSite.Views.csproj:
--------------------------------------------------------------------------------
 1 | <Project Sdk="Microsoft.NET.Sdk">
 2 | 
 3 |   <PropertyGroup>
 4 |     <TargetFramework>netcoreapp3.0</TargetFramework>
 5 |     <DefineConstants>$(DefineConstants)</DefineConstants>
 6 |   </PropertyGroup>
 7 | 
 8 |   <ItemGroup>
 9 |     <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.csproj" />
10 |   </ItemGroup>
11 | 
12 | </Project>
13 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Controllers/CommonController.cs:
--------------------------------------------------------------------------------
 1 | 
 2 | using Microsoft.AspNetCore.Mvc;
 3 | 
 4 | namespace RazorBuildWebSite.Controllers
 5 | {
 6 |     public class CommonController : Controller
 7 |     {
 8 |         public new ActionResult View()
 9 |         {
10 |             return base.View("CommonView");
11 |         }
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Controllers/PrecompilationController.cs:
--------------------------------------------------------------------------------
 1 | 
 2 | using Microsoft.AspNetCore.Mvc;
 3 | 
 4 | namespace RazorBuildWebSite.Controllers
 5 | {
 6 |     public class PrecompilationController : Controller
 7 |     {
 8 |         public new ActionResult View()
 9 |         {
10 |             return base.View();
11 |         }
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Controllers/RzcController.cs:
--------------------------------------------------------------------------------
 1 | 
 2 | using Microsoft.AspNetCore.Mvc;
 3 | 
 4 | namespace RazorBuildWebSite.Controllers
 5 | {
 6 |     public class RzcController : Controller
 7 |     {
 8 |         public new ActionResult View()
 9 |         {
10 |             return base.View();
11 |         }
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Pages/Precompilation/Page.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model Page_Model
3 | 
4 | Hello from runtime-compiled precompilation page!
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Pages/Rzc/Page.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model Page_Model
3 | 
4 | Hello from runtime-compiled rzc page!
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @namespace RazorBuildWebSite.Pages


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Views/Precompilation/View.cshtml:
--------------------------------------------------------------------------------
1 | Hello from runtime-compiled precompilation view!


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Views/Rzc/View.cshtml:
--------------------------------------------------------------------------------
1 | Hello from runtime-compiled rzc view!


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @namespace RazorBuildWebSite.Views


--------------------------------------------------------------------------------
/test/WebSites/RazorBuildWebSite/readme.md:
--------------------------------------------------------------------------------
1 | RazorBuildWebSite
2 | ===
3 | 
4 | This web site tests how the Razor view engine interacts with pre-built Razor assemblies.


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesClassLibrary/Pages/ClassLibraryPages/Overriden.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @{ throw new Exception("This page should be overriden by the application."); }
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesClassLibrary/Pages/ClassLibraryPages/Served.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | This page is served from RazorPagesClassLibrary
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Controllers/HomeController.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace RazorPagesWebSite
 7 | {
 8 |     [Area("Accounts")]
 9 |     public class HomeController : Controller
10 |     {
11 |         public IActionResult Index() => View();
12 |     }
13 | 
14 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/About.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from a page in Accounts area
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/Manage/RenderPartials.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @{
 3 |     Layout = "_GlobalLayout";
 4 | }
 5 | <partial name="_PartialInManage" />
 6 | <partial name="_PartialInAreaPagesRoot" />
 7 | <partial name="../_PartialInAreaPagesRoot" />
 8 | <partial name="_PartialInAreasSharedViews" />
 9 | <partial name="_FileInShared" />
10 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/Manage/_PartialInManage.cshtml:
--------------------------------------------------------------------------------
1 | Partial in /Areas/Accounts/Pages/Manage/
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/PageWithLinks.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | <a asp-page="/Manage/RenderPartials">Link inside area</a>
3 | <a asp-page="/List" asp-area="Products" asp-route-sort="old" asp-route-top="20">Link to external area</a>
4 | <a asp-controller="Home" asp-action="Index">Link to area action</a>
5 | <a asp-page="/Admin/Index" asp-area="">Link to non-area page</a>
6 |  


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/PageWithRouteTemplate.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id}"
2 | @functions
3 | {
4 |     [BindProperty(SupportsGet = true)]
5 |     public string Id { get; set; }
6 | }
7 | The id is @Id
8 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/RelativeLinks/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | <a asp-page="../PageWithRouteTemplate" asp-route-id="1">Parent directory</a>
3 | <a asp-page="../Manage/RenderPartials">Sibling directory</a>
4 | <a asp-page="../List" asp-area="Products">Go back to root of different area</a>
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/RequiresAuth/AllowAnonymous.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from AllowAnonymous
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/RequiresAuth/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @{ throw new Exception("This should not be rendered."); }
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Pages/_PartialInAreaPagesRoot.cshtml:
--------------------------------------------------------------------------------
1 | Partial in /Areas/Accounts/Pages/
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | <a asp-page="/PageWithRouteTemplate" asp-route-id="10">Link to page inside current area</a>
2 | <a asp-area="Products" asp-page="/List" asp-route-sort="best">Link to page in different area</a>
3 | <a asp-page="/Routes/Sibling">Link to page outside area</a>
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/Views/Shared/_PartialInAreasSharedViews.cshtml:
--------------------------------------------------------------------------------
1 | Partial in /Areas/Accounts/Views/Shared/
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Accounts/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Areas/Products/Pages/List.cshtml:
--------------------------------------------------------------------------------
1 | @page "{sort?}/{top?}"


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/DefaultNamespace.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @(GetType().Namespace)


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorld.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | Hello, World!


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorldWithAuth.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | Can't see me


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorldWithHandler.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | 
 3 | @functions {
 4 |     public string Message { get; set; }
 5 | 
 6 |     public void OnGet(string message)
 7 |     {
 8 |         Message = message;
 9 |     }
10 | }
11 | 
12 | Hello, @Message!


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorldWithOptionsHandler.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | 
 3 | @functions {
 4 |     public string Source { get; set; }
 5 | 
 6 |     public void OnGet()
 7 |     {
 8 |         Source = "OnGet";
 9 |     }
10 | 
11 |     public void OnOptions(string message)
12 |     {
13 |         Source = "OnOptions";
14 |     }
15 | }
16 | 
17 | Hello from @Source!


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorldWithPageModelAttributeModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.HelloWorldWithPageModelAttributeModel
3 | Hello, @Model.Message!
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorldWithPageModelHandler.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | 
 3 | @model RazorPagesWebSite.HelloWorldWithPageModelHandler
 4 | 
 5 | Hello, @Model.Message!
 6 | 
 7 | @using (Html.BeginForm())
 8 | {
 9 |     @Html.AntiForgeryToken()
10 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/HelloWorldWithRoute.cshtml:
--------------------------------------------------------------------------------
1 | @page "Some/Path/{text}"
2 | 
3 | Hello, @(ViewContext.RouteData.Values["text"])!


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/InjectedPageProperties.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | @Url.GetType()
4 | @Html.GetType()
5 | @ViewData.GetType()
6 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/ModelAsFilter.cshtml:
--------------------------------------------------------------------------------
1 | @page "{handler?}"
2 | @model RazorPagesWebSite.ModelAsFilter
3 | @Model.Message
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/ModelHandlerTestPage.cshtml:
--------------------------------------------------------------------------------
1 | @page "{handler?}"
2 | @model RazorPagesWebSite.ModelHandlerTestModel
3 | 
4 | Method: @Model.MethodName
5 | @using (Html.BeginForm())
6 | {
7 |     @Html.AntiForgeryToken()
8 | }
9 | <a href="~/HelloWorld.cshtml">~/HelloWorld.cshtml</a>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/ModelWithAuthFilter.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.ModelWithAuthFilter
3 | 
4 | Can't see me
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/ModelWithPageFilter.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.ModelWithPageFilter
3 | 
4 | @Model.Message
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/ModelWithResponseCache.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.ModelWithResponseCache
3 | 
4 | @Model.Message
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Models/IUserModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace RazorPagesWebSite
 5 | {
 6 |     public interface IUserModel
 7 |     {
 8 |     }
 9 | }
10 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/NoPage.cshtml:
--------------------------------------------------------------------------------
1 | This isn't a razor page


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/OnGetView.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | 
 3 | @functions {
 4 |     public IActionResult OnGet()
 5 |     {
 6 |         Message = "From OnGet";
 7 | 
 8 |         return Page();
 9 |     }
10 |     public string Message { get; set; } = "Default";
11 | }
12 | The message: @Message
13 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/PageWithoutContent.cshtml:
--------------------------------------------------------------------------------
1 | @page "No/Content/Path"


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Admin/Edit.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @functions
 3 | {
 4 |     public void OnPost()
 5 |     {
 6 |     }
 7 | }
 8 | 
 9 | <form method="post">
10 | 
11 | </form>
12 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Admin/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from @ViewContext.RouteData.Values["page"]


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Admin/Login.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Login Page


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Admin/RouteTemplate.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id}/MyRouteSuffix/{value:int?}"
2 | Hello from @ViewContext.RouteData.Values["page"] @ViewContext.RouteData.Values["id"] @ViewContext.RouteData.Values["value"]


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Antiforgery/AntiforgeryDefault.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AntiforgeryDefaultModel
3 | <form method="post">
4 |     
5 | </form>
6 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Antiforgery/AntiforgeryDefault.cshtml.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc.RazorPages;
 5 | 
 6 | namespace RazorPagesWebSite
 7 | {
 8 |     public class AntiforgeryDefaultModel : PageModel
 9 |     {
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Antiforgery/IgnoreAntiforgery.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model IgnoreAntiforgeryModel
3 | <form method="post">
4 |     
5 | </form>
6 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Antiforgery/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ClassLibraryPages/Overriden.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | This page is overriden by RazorPagesWebSite
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Conventions/Auth.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Conventions/AuthFolder/AnonymousViaModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AnonymousModel
3 | Hello from Anonymous


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Conventions/AuthFolder/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/CustomPageBase.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | using Microsoft.AspNetCore.Mvc.RazorPages;
 4 | 
 5 | namespace RazorPagesWebSite
 6 | {
 7 |     public abstract class CustomPageBase : PageBase
 8 |     {
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/Page.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @GetType().BaseType.FullName


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/PageWithModel.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | using Microsoft.AspNetCore.Mvc.RazorPages;
 4 | 
 5 | namespace RazorPagesWebSite
 6 | {
 7 |     public class PageWithModel : PageModel
 8 |     {
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/PageWithModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model PageWithModel
3 | @GetType().BaseType.FullName


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using RazorPagesWebSite
2 | @inherits CustomPageBase
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomBaseType/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ Layout = "../Shared/_CustomBaseTypeLayout"; }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/CustomPrefix/Custom.cshtml:
--------------------------------------------------------------------------------
1 | @page "~/like-totally-custom"
2 | 
3 | <p>Hey, it's Mr. totally custom here!</p>
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/FileFromShared:
--------------------------------------------------------------------------------
1 | @Html.Partial("_FileInShared)


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/HandlerWithParameter.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model HandlerWithParameterModel
3 | @{
4 | }
5 | Handler with parameter
6 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from @ViewContext.RouteData.Values["page"]


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Localized/Page.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @inject Microsoft.AspNetCore.Mvc.Localization.IViewLocalizer Localizer
3 | @Localizer["Hello"]
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Localized/PageWithModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model PageWithModel
3 | @inject Microsoft.AspNetCore.Mvc.Localization.IViewLocalizer Localizer
4 | @Localizer["Hello"]
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Folder/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @(GetType().Namespace)


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Namespace/Nested/Override/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @namespace Override
3 | @(GetType().Namespace)


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Namespace/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @namespace CustomNamespace


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/NotTheRoot.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from NotTheRoot
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindFormFile.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @model BindFormFile
 3 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
 4 | 
 5 | <form method="post" enctype="multipart/form-data">
 6 |     <input id="property1" asp-for="Property1" />
 7 |     <input id="file1" asp-for="Forms.Form1" />
 8 |     <input id="file2" asp-for="Forms.Form2" />
 9 |     <input id="file3" asp-for="Form3" />
10 | </form>
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindPropertiesOnModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model BindPropertiesOnModel
3 | 
4 | Property1 = @Model.Property1, Property2 = @Model.Property2,
5 | 
6 | <form action="">
7 |     @Html.AntiForgeryToken()
8 | </form>
9 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindPropertiesWithSupportsGetOnModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model BindPropertiesWithSupportsGetOnModel
3 | @Model.Property
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/BindPropertyWithGet.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @using Microsoft.AspNetCore.Mvc.RazorPages
3 | 
4 | @functions
5 | {
6 |     [BindProperty(SupportsGet=true)]
7 |     public int Value { get; set; }
8 | }
9 | <p>@Value</p>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PageModelWithPropertyBinding.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id:int}"
2 | @model PageModelWithPropertyBinding
3 | Id = @Model.Id, Name = @Model.UserModel?.Name, Age = @Model.UserModel?.Age, PropertyWithSupportGetsTrue = @Model.PropertyWithSupportGetsTrue
4 | @Html.ValidationSummary()
5 | 
6 | <form action="">
7 |     @Html.AntiForgeryToken()
8 | </form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PagePropertyBinding.cshtml:
--------------------------------------------------------------------------------
 1 | @page "{id:int}"
 2 | @functions
 3 | {
 4 |     [ModelBinder]
 5 |     public UserModel UserModel { get; set; }
 6 | 
 7 |     [FromRoute]
 8 |     public int Id { get; set; }
 9 | }
10 | Id = @Id, Name = @UserModel?.Name, Age = @UserModel?.Age
11 | @Html.ValidationSummary()
12 | <form action="">
13 |     @Html.AntiForgeryToken()
14 | </form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PageWithPropertyAndArgumentBinding.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model PageModelWithPropertyAndArgumentBinding
3 | Id = @Model.Id, Name = @Model.UserModel?.Name, Age = @Model.UserModel?.Age
4 | @Html.ValidationSummary()
5 | 
6 | <form action="">
7 |     @Html.AntiForgeryToken()
8 | </form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/PolymorphicBinding.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model PolymorphicBinding
3 | 
4 | <form action="">
5 |     @Html.AntiForgeryToken()
6 | </form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/PropertyBinding/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using RazorPagesWebSite
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page "{handler?}"
2 | @functions
3 | {
4 |     public IActionResult OnGet() => RedirectToPage();
5 | 
6 |     public IActionResult OnGetRedirectToIndex() => RedirectToPage("/Redirects/Index");
7 | }
8 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/Redirect.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id:int}"
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromHandler.cshtml:
--------------------------------------------------------------------------------
 1 | @page "{handler?}/{id:int?}"
 2 | @functions
 3 | {
 4 |     public IActionResult OnGetRedirectToPage(int id)
 5 |     {
 6 |         return RedirectToPage();
 7 |     }
 8 | 
 9 |     public IActionResult OnGetRedirectToAnotherHandler(int id)
10 |     {
11 |         return RedirectToPage(new { handler = "RedirectToPage", id = id });
12 |     }
13 | }
14 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromModel.cs:
--------------------------------------------------------------------------------
 1 | using Microsoft.AspNetCore.Mvc;
 2 | using Microsoft.AspNetCore.Mvc.RazorPages;
 3 | 
 4 | namespace RazorPagesWebSite
 5 | {
 6 |     public class RedirectFromModel : PageModel
 7 |     {
 8 |         public IActionResult OnGet() => RedirectToPage("/Pages/Redirects/Redirect", new { id = 12});
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.RedirectFromModel
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectFromPage.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @functions
3 | {
4 |     public IActionResult OnGet() => RedirectToPage("/Pages/Redirects/Redirect", new { id = 10});
5 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/RedirectToSelf.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @functions
3 | {
4 |     public IActionResult OnPost(int value) => RedirectToPage(new { user = value });
5 | }
6 | 
7 | <form action="">
8 |     @Html.AntiForgeryToken()
9 | </form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Redirects/SubDir/SubDirPage.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Routes/RouteUsingDefaultName.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | <a asp-page="/Routes/Sibling" asp-route-id="10">Link</a>
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Routes/Sibling.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id?}"
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Routes/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/SearchInPages.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @Html.Partial("_FileInShared")


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Section/Index.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @{ 
 3 |     Layout = "_Layout";
 4 | }
 5 | @functions {
 6 |     public int MyValue { get; set; } = 17;
 7 | }
 8 | @section mysection {
 9 |     Value is @Model.MyValue
10 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Section/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | @RenderSection("mysection")


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Shared/Components/ViewData/Default.cshtml:
--------------------------------------------------------------------------------
1 | <html>
2 |     <head>
3 |         <title>@ViewData["Title"]</title>
4 |     </head>
5 |     <body>
6 |         <span id="message">@ViewData["Message"]</span>
7 |     </body>
8 | </html>
9 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Shared/_CustomBaseTypeLayout.cshtml:
--------------------------------------------------------------------------------
1 | <custom-base-type-layout>@RenderBody()</custom-base-type-layout>
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Shared/_FileInShared.cshtml:
--------------------------------------------------------------------------------
1 | Hello from /Pages/Shared/
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ShortCircuitPageAtAuthFilter.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ShortCircuitAtAuthFilterPageModel
3 | @{
4 | }
5 | From ShortCircuitPageAtAuthFilter.cshtml


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ShortCircuitPageAtPageFilter.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ShortCircuitAtPageFilterPageModel
3 | @{
4 | }
5 | From ShortCircuitPageAtPageFilter.cshtml


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/CrossPost.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id:int?}"
2 | 
3 | <form method="POST" asp-page="/TagHelper/SelfPost" asp-route-id="10" asp-antiforgery="false"></form>
4 | <form method="POST" asp-page="PostWithHandler" asp-page-handler="Delete"  asp-route-id="10" asp-antiforgery="false"></form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/PathTraversalLinks.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | <form method="post" asp-page="./SubDirectoryLinks" asp-antiforgery="false"></form>
4 | <form method="post" asp-page="../../HelloWorld" asp-antiforgery="false"></form>
5 | <a asp-page="../Redirects/Index" asp-route-handler="RedirectToIndex" />
6 | <input type="image" asp-page="../Admin/Index" asp-fragment="my-fragment" />
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/SelfPost.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id:int?}"
2 | 
3 | <form method="POST" asp-page="" asp-route-id="10">
4 | <input type="submit" value="Submit" />
5 | </form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/SiblingLinks.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | <form method="post" asp-page="CrossPost" asp-antiforgery="false"></form>
4 | <a asp-page="SelfPost" asp-route-id="12" />
5 | <input type="image" asp-page="CrossPost" asp-fragment="my-fragment" />


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/SubDir/SubDirPage.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id?}"
2 |  


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/SubDirectoryLinks.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | <form method="post" asp-page="SubDir/SubDirPage" asp-antiforgery="false"></form>
4 | <a asp-page="SubDir/SubDirPage" asp-route-id="12" />
5 | <input type="image" asp-page="SubDir/SubDirPage" asp-fragment="my-fragment" />


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TagHelper/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TryUpdateModelPageModel.cshtml:
--------------------------------------------------------------------------------
 1 | @page "{id:int}"
 2 | @using RazorPagesWebSite.Pages
 3 | @model TryUpdateModelPageModel
 4 | 
 5 | @Html.ValidationSummary()
 6 | <form action="">
 7 |     @Html.AntiForgeryToken()    
 8 | </form>
 9 | Updated: @Model.Updated
10 | Name = @Model.UserModel?.Name
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/TryValidateModelPageModel.cshtml:
--------------------------------------------------------------------------------
 1 | @page "{id:int}"
 2 | @using RazorPagesWebSite.Pages
 3 | @model TryValidateModelPageModel
 4 | 
 5 | @Html.ValidationSummary()
 6 | <form action="">
 7 |     @Html.AntiForgeryToken()
 8 | </form>
 9 | Validation: @(Model.Validate ? "success" : "fail!" )
10 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Validation/PageHandlerWithValidation.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @using System.ComponentModel.DataAnnotations
 3 | @functions
 4 | {
 5 |     public void OnGet([Required(ErrorMessage = "Name is required")] string name)
 6 |     {
 7 | 
 8 |     }
 9 | }
10 | <div asp-validation-summary="All"></div>
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Validation/PageWithValidation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model PageWithValidation
3 | <div asp-validation-summary="All"></div>
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/Validation/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataInPage.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ViewDataInPage
3 | @{
4 |     Layout = "_Layout";
5 | }
6 | Sample that shows ViewData attributes being set in a PageModel.
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataInPageWithoutModel.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @{
 3 |     Layout = "_Layout";
 4 | }
 5 | @functions
 6 | {
 7 |     [ViewData]
 8 |     public string Title { get; set; } = "Default value";
 9 | 
10 |     [ViewData]
11 |     public string Description { get; set; }
12 | 
13 |     public void OnGet()
14 |     {
15 |         Description = "Description set in page handler";
16 |     }
17 | }
18 | Sample that shows ViewData being set from a page without handler.
19 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/Index.cs:
--------------------------------------------------------------------------------
 1 | using Microsoft.AspNetCore.Mvc;
 2 | using Microsoft.AspNetCore.Mvc.RazorPages;
 3 | 
 4 | namespace RazorPagesWebSite.ViewDataSetInViewStart
 5 | {
 6 |     public class Index : PageModel
 7 |     {
 8 |         [ViewData]
 9 |         public string ValueFromPageModel => "Value from Page Model";
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @namespace RazorPagesWebSite.ViewDataSetInViewStart
3 | @model Index
4 | @{
5 |     ViewData["ValueFromPage"] = "Value from Page";
6 | }
7 | Sample that shows ViewData attributes being set in a PageModel.
8 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | @RenderBody()
2 | <span id="valuefromviewstart">@ViewData["ValueFromViewStart"]</span>
3 | <span id="valuefrompage">@ViewData["ValueFromPage"]</span>
4 | <span id="valuefrompagemodel">@ViewData["ValueFromPageModel"]</span>
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataSetInViewStart/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout";
3 |     ViewData["ValueFromViewStart"] = "Value from _ViewStart";
4 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/ViewDataToViewComponentPage.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ViewDataToViewComponentPage
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/_Layout.cshtml:
--------------------------------------------------------------------------------
 1 | <html>
 2 |     <head>
 3 |         <meta name="description" content="@ViewData["Description"]" />
 4 |         <meta name="keywords" content="@ViewData["Keywords"]" />
 5 |         <meta name="author" content="@ViewData["Author"]" />
 6 |         <title>@ViewData["Title"]</title>
 7 |     </head>
 8 |     <body>
 9 |         @RenderBody()
10 |     </body>
11 | </html>
12 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewData/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewDataAvailableAfterHandlerExecuted.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ViewDataAvailableAfterHandlerExecutedModel
3 | @{
4 | }
5 | ViewData: @ViewData["Foo"]


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewSearch/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | @{
4 |     await Html.RenderPartialAsync(Request.Query["partial"]);
5 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/ViewSearch/_Sibling.cshtml:
--------------------------------------------------------------------------------
1 | Hello from sibling


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/WithViewImport/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from @CustomService.Value!


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/WithViewImport/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using CustomNamespace


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/WithViewStart/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from @Path!


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/WithViewStart/ViewStartAtRoot.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | Hello from page
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/WithViewStart/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | Hello from _ViewStart
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/_Parent.cshtml:
--------------------------------------------------------------------------------
1 | Hello from parent


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @namespace RazorPagesWebSite.Pages


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/PathSet.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | Path: @Path


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/RedirectToController.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | @functions {
4 |     public IActionResult OnGet()
5 |     {
6 |         return new RedirectToRouteResult(new { controller = "Redirect", action = "RedirectToPageAction", param = 92 });
7 |     }
8 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/RenderPartialWithModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.RenderPartialWithModel
3 | 
4 | <p>The partial will be loaded here ...</p>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/RenderPartialWithoutModel.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | @functions {
4 |     public IActionResult OnGet() => Partial("_PartialWithoutModel");
5 | }
6 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/RouteData.cshtml:
--------------------------------------------------------------------------------
 1 | @page "{intRouteDataStringProperty:int}"
 2 | 
 3 | @functions{
 4 |     public string IntRouteDataStringProperty { get; set; }
 5 | 
 6 |     public void OnGet(string intRouteDataStringProperty = "default")
 7 |     {
 8 |         IntRouteDataStringProperty = intRouteDataStringProperty;
 9 |     }
10 | }
11 | 
12 | From RouteData: @IntRouteDataStringProperty
13 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Services/CustomService.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace CustomNamespace
 5 | {
 6 |     public static class CustomService
 7 |     {
 8 |         public static string Value => nameof(CustomService);
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Show.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/SimpleForms.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
 3 | 
 4 | <form></form>
 5 | <form method="get"></form>
 6 | <form method="post"></form>
 7 | <form action="" method="post"></form>
 8 | <form action="/Foo/Bar/Baz.html" method="get"></form>
 9 | <form action="/Foo/Bar/Baz.html" method="post"></form>
10 | <form asp-controller="Redirect" asp-action="RedirectToPageAction"></form>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/TempData/SetMessageAndRedirect.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | 
 3 | @functions
 4 | {
 5 |     public IActionResult OnGet()
 6 |     {
 7 |         TempData["Message"] = "Secret Message";
 8 |         return Redirect("~/TempData/TempDataPageModelProperty");
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/TempData/SetTempDataOnPageAndRedirect.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | 
 3 | @functions {
 4 | 
 5 |     public IActionResult OnGet(string message)
 6 |     {
 7 |         TempData["Message"] = message;
 8 |         return Redirect("~/TempData/ShowMessage");
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/TempData/SetTempDataOnPageModelAndRedirect.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model RazorPagesWebSite.SetTempDataOnPageModelAndRedirect


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/TempData/ShowMessage.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 
3 | @(TempData["Message"])


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/TempData/TempDataPageModelProperty.cshtml:
--------------------------------------------------------------------------------
 1 | @page
 2 | @model RazorPagesWebSite.TempData.TempDataPageModel
 3 | 
 4 | Message: @Model.Message
 5 | @using (Html.BeginForm())
 6 | {
 7 |     @Html.AntiForgeryToken()
 8 | }
 9 | TempData: @TempData["Message"]
10 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Views/Shared/_FileInShared.cshtml:
--------------------------------------------------------------------------------
1 | @{ throw new Exception("This file should not be processed"); }


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Views/Shared/_GlobalLayout.cshtml:
--------------------------------------------------------------------------------
1 | Layout in /Views/Shared
2 | @RenderBody()
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Views/Shared/_PartialWithModel.cshtml:
--------------------------------------------------------------------------------
1 | @model RazorPagesWebSite.RenderPartialWithModel
2 | 
3 | <span id="content">Welcome, @Model.Username</span>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Views/Shared/_PartialWithoutModel.cshtml:
--------------------------------------------------------------------------------
1 | <span id="content">Welcome, Guest</span>


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/Views/Shared/_Shared.cshtml:
--------------------------------------------------------------------------------
1 | Hello from shared


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/_Root.cshtml:
--------------------------------------------------------------------------------
1 | Hello from root


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Mvc.RazorPages
2 | @if (ViewContext.ActionDescriptor is PageActionDescriptor actionDescriptor && actionDescriptor.ViewEnginePath == "/WithViewStart/ViewStartAtRoot")
3 | {
4 | <text>Hello from _ViewStart at root
5 | </text>
6 | }
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorPagesWebSite/readme.md:
--------------------------------------------------------------------------------
1 | RazorPagesWebSite
2 | ===
3 | 
4 | This web site is used for functional tests of the Razor Pages feature of MVC.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Controllers/BackSlashController.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace RazorWebSite.Controllers
 7 | {
 8 |     public class BackSlashController : Controller
 9 |     {
10 |         public IActionResult Index() => View(@"Views\BackSlash\BackSlashView.cshtml");
11 |     }
12 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedShared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | <embdedded-layout>@RenderBody()</embdedded-layout>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedShared/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | Hello from EmbeddedShared/_Partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/EmbeddedPartial.cshtml:
--------------------------------------------------------------------------------
1 | Hello from EmbeddedHome\EmbeddedPartial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/Index.cshtml:
--------------------------------------------------------------------------------
1 | @Html.Partial("../EmbeddedShared/_Partial.cshtml")
2 | @Html.Partial("_EmbeddedPartial")
3 | <a asp-controller="EmbeddedViews" asp-action="Index">Tag Helper Link</a>
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/RelativeNonPath.cshtml:
--------------------------------------------------------------------------------
1 | @{ Layout = "../EmbeddedShared/_Layout"; }
2 | @Html.Partial("./EmbeddedPartial")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/EmbeddedViews/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ Layout = "/Views/EmbeddedShared/_Layout.cshtml"; }
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/EmbeddedResources/Views/Shared/_EmbeddedPartial.cshtml:
--------------------------------------------------------------------------------
1 | Hello from Shared/_EmbeddedPartial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Models/Address.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace RazorWebSite
 5 | {
 6 |     public class Address
 7 |     {
 8 |         public string ZipCode { get; set; }
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Models/Person.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace RazorWebSite
 5 | {
 6 |     public class Person
 7 |     {
 8 |         public string Name { get; set; }
 9 | 
10 |         public Address Address { get; set; }
11 |     }
12 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Pages/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | @{ throw new Exception("This file should not be processed"); }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Pages/Shared/_SharedFromPages.cshtml:
--------------------------------------------------------------------------------
1 | Hello from Pages/Shared
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Services/InjectedHelper.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace RazorWebSite
 5 | {
 6 |     public class InjectedHelper
 7 |     {
 8 |         public string Greet(Person person)
 9 |         {
10 |             return "Hello " + person.Name;
11 |         }
12 |     }
13 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Shared-Views/ExpanderViews/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     throw new Exception("This view should not be executed");
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Shared-Views/ExpanderViews/_ExpanderPartial.cshtml:
--------------------------------------------------------------------------------
1 | <shared-views>@ViewContext.View.Path</shared-views>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/SingleType.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace RazorWebSite
 5 | {
 6 |     public class SingleType
 7 |     {
 8 | 
 9 |     }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/AddTagHelperComponent/AddComponent.cshtml:
--------------------------------------------------------------------------------
 1 | @inject Microsoft.AspNetCore.Mvc.Razor.TagHelpers.ITagHelperComponentManager manager
 2 | <head inject>
 3 | Hello from Head Tag Helper Component
 4 | </head>
 5 | @{ 
 6 |     manager.Components.Add(new TestBodyTagHelperComponent(2, "Processed TagHelperComponent added from view."));
 7 | }
 8 | <body inject>
 9 | Hello from Body Tag Helper Component
10 | </body>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/BackSlash/BackSlashView.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |   ViewData["back-slash"] = "true";
3 |   Layout = "_Layout";
4 | }
5 | Page
6 | @Html.Partial("_BackSlashPartial")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/BackSlash/_BackSlashPartial.cshtml:
--------------------------------------------------------------------------------
1 | Partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/BackSlash/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | Layout
2 | @RenderBody()


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Directives/Scoped/ViewInheritsBasePageFromViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @MyHelper.Greet(Model)


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Directives/Scoped/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | layout:@RenderBody()


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Directives/Scoped/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @inherits MyBasePage<TModel>
2 | @{
3 |     Layout = "/Views/Directives/Scoped/_Layout.cshtml";
4 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Directives/Scoped/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Directives/Scoped/_Layout.cshtml";
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Directives/ViewInheritsInjectAndUsingsFromViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @model MyPerson
2 | @MyHelper.Greet(Model)


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Directives/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using MyPerson = RazorWebSite.Person
2 | @inject InjectedHelper MyHelper
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Enum/Enum.cshtml:
--------------------------------------------------------------------------------
1 | @model RazorWebSite.Models.EnumModel
2 | 
3 | <div>
4 |     @Html.DisplayNameFor(model => model.Id)
5 |     @Html.DisplayFor(model => model.Id)
6 | </div>
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ExpanderViews/Index.cshtml:
--------------------------------------------------------------------------------
1 | <expander-view>@Html.Partial("_ExpanderPartial")</expander-view>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/FlushPoint/PageWithFlushBeforeLayout.cshtml:
--------------------------------------------------------------------------------
1 | Initial content
2 | @await FlushAsync()
3 | 
4 | @{
5 |     Layout = "/Views/Shared/_LayoutWithFlush.cshtml";
6 | }
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/FlushPoint/PageWithLayout.cshtml:
--------------------------------------------------------------------------------
 1 | @{
 2 |     Layout = "/Views/Shared/_LayoutWithFlush.cshtml";
 3 |     ViewBag.Title = "Page With Layout";
 4 | }
 5 | RenderBody content
 6 | @section content
 7 | {
 8 |     @{
 9 |         await FlushAsync();
10 |     }
11 |     <span>Content that takes time to produce</span>
12 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/FlushPoint/PageWithNestedLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_NestedLayoutWithFlush.cshtml";
3 |     ViewBag.Title = "Nested Page With Layout";
4 | }
5 | <title>@ViewBag.Title</title>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/FlushPoint/PageWithoutLayout.cshtml:
--------------------------------------------------------------------------------
 1 | Initial content
 2 | @await FlushAsync()
 3 | Secondary content
 4 | @await FlushAsync()
 5 | @{
 6 |     await Html.RenderPartialAsync("_PartialWithFlush");
 7 | }
 8 | @using (Html.BeginForm(method: FormMethod.Post, antiforgery: false, htmlAttributes: null))
 9 | {
10 |     @Html.TextBox("Name1")
11 |     @await FlushAsync()
12 |     @Html.TextBox("Name2")
13 | }
14 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/HtmlHelperOptions/HtmlHelperOptionsDefaultsInPartialView.cshtml:
--------------------------------------------------------------------------------
1 | @model RazorWebSite.Controllers.DateModel
2 | @Html.ValidationSummary(true, "MySummary")
3 | @Html.ValidationMessage("Error")
4 | @Html.TextBox("Prefix.Property1")
5 | @Html.EditorForModel()
6 | @Html.ViewContext.ClientValidationEnabled


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/HtmlHelperOptions/HtmlHelperOptionsDefaultsInView.cshtml:
--------------------------------------------------------------------------------
1 | @model RazorWebSite.Controllers.DateModel
2 | @Html.ValidationSummary(true, "MySummary")
3 | @Html.ValidationMessage("Error")
4 | @Html.TextBox("Prefix.Property1")
5 | @Html.EditorForModel()
6 | @await Html.PartialAsync("HtmlHelperOptionsDefaultsInPartialView", Model)


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/HtmlHelperOptions/OverrideAppWideDefaultsInPartialView.cshtml:
--------------------------------------------------------------------------------
 1 | @model RazorWebSite.Controllers.DateModel
 2 | @{
 3 |     ViewContext.ValidationMessageElement = "ValidationInPartialView";
 4 |     ViewContext.ValidationSummaryMessageElement = "ValidationSummaryInPartialView";
 5 | }
 6 | @Html.ValidationSummary(true, "MySummary")
 7 | @Html.ValidationMessage("Error")
 8 | @Html.TextBox("Prefix.Property1")
 9 | @Html.EditorForModel()
10 | @Html.ViewContext.ClientValidationEnabled


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/InheritingInherits/Index.cshtml:
--------------------------------------------------------------------------------
1 | @model Person
2 | <h1>@Model.Name</h1>
3 | @await Component.InvokeAsync("InheritingViewComponent", Model.Address)


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/InheritingInherits/_ViewComponent.cshtml:
--------------------------------------------------------------------------------
1 | @model Address
2 | <strong>@Model.ZipCode</strong>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/InheritingInherits/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @inherits MyBasePage<TModel>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewImports/Nested/Index.cshtml:
--------------------------------------------------------------------------------
1 | <page>@MyInjectedHelper.Greet(Model)</page>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewImports/Nested/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @model Person
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewImports/Nested/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | <view-start>@MyInjectedHelper.Greet(Model)</view-start>
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewImports/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @inject InjectedHelper MyInjectedHelper


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewStarts/NestedViewStarts/Index.cshtml:
--------------------------------------------------------------------------------
1 | index-content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewStarts/NestedViewStarts/Layout.cshtml:
--------------------------------------------------------------------------------
1 | <title>@ViewData["title"]</title>
2 | @RenderBody()


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewStarts/NestedViewStarts/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     ViewData["Title"] = "viewstart-value";
3 | }
4 | @Layout
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/NestedViewStarts/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "~/Views/NestedViewStarts/NestedViewStarts/Layout.cshtml";
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/PartialMissingSection.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_PartialLayout";
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/PartialWithModel.cshtml:
--------------------------------------------------------------------------------
1 | @model Person
2 | @Model.Name
3 | <partial>@Html.Partial("_Partial", Model.Address)</partial>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewPartialMissingSection.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = null;
3 | }
4 | <partial>@Html.Partial("PartialMissingSection")</partial>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithDataFromController.cshtml:
--------------------------------------------------------------------------------
1 | <h1>@ViewData["data-from-controller"]</h1>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithFullPath.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 | }
4 | ViewWithFullPath-content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 | }
4 | ViewWithLayout-Content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithNestedLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/ViewEngine/_NestedLayout.cshtml";
3 | }
4 | ViewWithNestedLayout-Content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialViewEngine/ViewWithoutLayout.cshtml:
--------------------------------------------------------------------------------
1 | ViewWithoutLayout-Content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialsWithLayout/LayoutForViewStartWithLayout.cshtml:
--------------------------------------------------------------------------------
1 | <layout-for-viewstart-with-layout>@RenderBody()</layout-for-viewstart-with-layout>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialThatDoesNotSpecifyLayout.cshtml:
--------------------------------------------------------------------------------
1 | Partial that does not specify Layout


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialThatSpecifiesLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "LayoutForViewStartWithLayout";
3 | }
4 | Partial that specifies Layout
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialsRenderedViaPartialAsync.cshtml:
--------------------------------------------------------------------------------
1 | @await Html.PartialAsync("PartialThatSpecifiesLayout")
2 | @await Html.PartialAsync("PartialThatDoesNotSpecifyLayout")
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialsWithLayout/PartialsRenderedViaRenderPartial.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     await Html.RenderPartialAsync("PartialThatSpecifiesLayout");
3 |     await Html.RenderPartialAsync("PartialThatDoesNotSpecifyLayout");
4 | }
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/PartialsWithLayout/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "LayoutForViewStartWithLayout";
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/Components/ComponentForViewWithPaths/Default.cshtml:
--------------------------------------------------------------------------------
1 | <component>
2 | @ViewContext.ExecutingFilePath
3 | @ViewContext.View.Path
4 | </component>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/Components/ComponentThatSetsTitle/Default.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     ViewData["Title"] = "Component title";
3 | }
4 | component-content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithLayout/Default.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "_ComponentLayout";
3 | }
4 | Component With Layout


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithRelativePath.cshtml:
--------------------------------------------------------------------------------
1 | @model Person
2 | @{
3 |     Layout = "../_ComponentLayout.cshtml";
4 | }
5 | Component with Relative Path
6 | @Html.DisplayFor(model => model.Name, templateName: "~/Views/Shared/DisplayTemplates/Name.cshtml")
7 | @Html.DisplayFor(model => model.Address, templateName: "../../InheritingInherits/_ViewComponent.cshtml")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithViewStart/Default.cshtml:
--------------------------------------------------------------------------------
1 | @ViewBag.Title


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/Components/ComponentWithViewStart/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     throw new Exception("This should not be invoked as part of executing the View Component.");
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/DisplayTemplates/Name.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 | <label><strong>Name:</strong> @Html.DisplayTextFor(model => model)</label>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_ComponentLayout.cshtml:
--------------------------------------------------------------------------------
1 | <component-title>@ViewBag.Title</component-title>
2 | <component-body>@RenderBody()</component-body>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | <layout>
2 | @RenderBody()
3 | </layout>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_LayoutWithFlush.cshtml:
--------------------------------------------------------------------------------
1 | <title>@ViewBag.Title</title>
2 | @await FlushAsync()
3 | @RenderBody()
4 | @await RenderSectionAsync("content")
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_LayoutWithPartialAndFlush.cshtml:
--------------------------------------------------------------------------------
1 | <title>@ViewBag.Title</title>
2 | @RenderBody()
3 | @await FlushAsync()
4 | @await Html.PartialAsync("_PartialThatSetsTitle")
5 | @RenderSection("content")
6 | More content from layout
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_LayoutWithRenderSectionAsync.cshtml:
--------------------------------------------------------------------------------
1 | <title>@ViewBag.Title</title>
2 | @RenderBody()
3 | @await FlushAsync()
4 | @await Html.PartialAsync("_PartialThatSetsTitle")
5 | @await RenderSectionAsync("content")
6 | More content from layout
7 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_LayoutWithRenderSectionOnly.cshtml:
--------------------------------------------------------------------------------
1 | @RenderBody()
2 | @await RenderSectionAsync("nestedcontent")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_LayoutWithTitle.cshtml:
--------------------------------------------------------------------------------
1 | <title>@ViewBag.Title</title>
2 | @RenderBody()


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_NestedLayoutWithFlush.cshtml:
--------------------------------------------------------------------------------
 1 | @{
 2 |     Layout = "/Views/Shared/_LayoutWithRenderSectionOnly.cshtml";
 3 |     ViewBag.Title = "Page With Layout";
 4 | }
 5 | Inside Nested Layout
 6 | @RenderBody()
 7 | @section nestedcontent
 8 | {
 9 |     @{
10 |         await FlushAsync();
11 |     }
12 |     <span>Nested content that takes time to produce</span>
13 | }
14 | 
15 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | @model Address
2 | @ViewData.Model.ZipCode
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_PartialLayout.cshtml:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | 
 3 | <html>
 4 | <head>
 5 | </head>
 6 | <body>
 7 |     <div>
 8 |         @RenderBody()
 9 |     </div>
10 |     @{
11 |         try
12 |         {
13 |             RenderSection("section");
14 |         }
15 |         catch (InvalidOperationException ex)
16 |         {
17 |             <p>@ex.Message</p>
18 |         }
19 |     }
20 | </body>
21 | </html>
22 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_PartialThatSetsTitle.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     ViewBag.Title = "Partial title";
3 | }
4 | partial-content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_PartialWithFlush.cshtml:
--------------------------------------------------------------------------------
1 | Inside partial
2 | @await FlushAsync()
3 | After flush inside partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/Shared/_PartialWithModelFromEnumerable.cshtml:
--------------------------------------------------------------------------------
1 | @model Person
2 | @Html.DisplayFor(m => m.Name)


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TagHelperComponent/Body.cshtml:
--------------------------------------------------------------------------------
1 | <body inject="true">
2 | Hello from Body Tag Helper Component
3 | <p>@ViewData["TestData"]</p>
4 | </body>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TagHelperComponent/Head.cshtml:
--------------------------------------------------------------------------------
1 | <head inject="true">
2 | Hello from Head Tag Helper Component
3 | </head>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/Index.cshtml:
--------------------------------------------------------------------------------
1 | expander-index
2 | @await Html.PartialAsync("_Partial")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/ViewWithLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_LanguageLayout";
3 | }
4 | View With Layout
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/_LanguageLayout.cshtml:
--------------------------------------------------------------------------------
1 | <language-layout>@RenderBody()</language-layout>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | expander-partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/en-GB/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | gb-partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/fr/Index.cshtml:
--------------------------------------------------------------------------------
1 | fr-index
2 | @await Html.PartialAsync("_Partial")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/fr/_LanguageLayout.cshtml:
--------------------------------------------------------------------------------
1 | <fr-language-layout>@RenderBody()</fr-language-layout>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/TemplateExpander/fr/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | fr-partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/SearchInPages.cshtml:
--------------------------------------------------------------------------------
1 | @Html.Partial("_SharedFromPages")
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithComponentThatHasLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "_LayoutWithTitle";
3 | }
4 | Page Content
5 | @await Component.InvokeAsync("ComponentWithLayout")
6 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithComponentThatHasViewStart.cshtml:
--------------------------------------------------------------------------------
1 | <page-content>@await Component.InvokeAsync("ComponentWithViewStart")</page-content>
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithDataFromController.cshtml:
--------------------------------------------------------------------------------
1 | <h1>@ViewData["data-from-controller"]</h1>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithFullPath.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "~/Views/Shared/_Layout.cshtml";
3 | }
4 | ViewWithFullPath-content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 | }
4 | ViewWithLayout-Content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithNestedLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/ViewEngine/_NestedLayout.cshtml";
3 | }
4 | ViewWithNestedLayout-Content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithPartial.cshtml:
--------------------------------------------------------------------------------
1 | @using RazorWebSite
2 | @model Person
3 | <partial>@await Html.PartialAsync("_Partial", Model.Address)
4 | </partial>
5 | <partial2>@await Html.PartialAsync("~/Views/Shared/_Partial.cshtml", Model.Address)
6 | </partial2>
7 | @ViewBag.TestKey


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithPartialTakingModelFromIEnumerable.cshtml:
--------------------------------------------------------------------------------
1 | @using RazorWebSite
2 | @model IEnumerable<Person>
3 | @foreach (var item in Model)
4 | {@await Html.PartialAsync("_PartialWithModelFromEnumerable", item)}


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithTitle.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     ViewData["Title"] = "Page title";
3 |     // The invoked partial sets a title, but this shouldn't override the current page's ViewData \ ViewBag.
4 |     await Html.RenderPartialAsync("_PartialThatSetsTitle");
5 |     @await Component.InvokeAsync("ComponentThatSetsTitle")
6 |     Layout = "/Views/Shared/_LayoutWithTitle.cshtml";
7 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/ViewWithoutLayout.cshtml:
--------------------------------------------------------------------------------
1 | ViewWithoutLayout-Content


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewEngine/_NestedLayout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 | }
4 | <nested-layout>
5 | @Url.Action()
6 | @RenderBody()
7 | </nested-layout>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/LayoutSpecifiedWithPartialPathInPage.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "_NonSharedLayout";
3 | }
4 | Layout specified in page
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/LayoutSpecifiedWithPartialPathInViewStart.cshtml:
--------------------------------------------------------------------------------
1 | _ViewStart that specifies partial Layout


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/NonSharedPartial.cshtml:
--------------------------------------------------------------------------------
1 | Non Shared Partial


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/PageWithNonPartialLayoutPath.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = (string)ViewData["Layout"];
3 | }
4 | Page With Non Partial Layout
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/ViewWithPartials.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     var partial = (string)ViewData["Partial"];
3 | }
4 | @Html.Partial(partial)
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/_NonSharedLayout.cshtml:
--------------------------------------------------------------------------------
1 | <non-shared>@RenderBody()</non-shared>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewNameSpecification_Home/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "_Layout";
3 | }


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewWithPaths/Index.cshtml:
--------------------------------------------------------------------------------
1 | <Index>
2 |     @ViewContext.ExecutingFilePath
3 |     @ViewContext.View.Path
4 |     @await Component.InvokeAsync("ComponentForViewWithPaths")
5 |     @Html.Partial("_Partial")
6 | </Index>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewWithPaths/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | <Layout>
2 |     @ViewContext.ExecutingFilePath
3 |     @ViewContext.View.Path
4 | </Layout>
5 | @RenderBody()


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewWithPaths/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | <Partial>
2 | @ViewContext.ExecutingFilePath
3 | @ViewContext.View.Path
4 | </Partial>


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewWithPaths/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "_Layout";
3 | }
4 | <ViewStart>
5 |     @ViewContext.ExecutingFilePath
6 |     @ViewContext.View.Path
7 | </ViewStart>
8 | 


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewsConsumingCompilationOptions/Index.cshtml:
--------------------------------------------------------------------------------
1 | @inject FrameworkSpecificHelper MyHelper
2 | @MyHelper.ExecuteOperation()
3 | @Html.Partial("_Partial")


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/ViewsConsumingCompilationOptions/_Partial.cshtml:
--------------------------------------------------------------------------------
1 | @inject FrameworkSpecificHelper MyHelper
2 | @{
3 |     string value =
4 | #if NETCOREAPP2_0_CUSTOM_DEFINE || NETCOREAPP2_1_CUSTOM_DEFINE
5 |     MyHelper.ExecuteNetCoreApp2_0Operation();
6 | #endif
7 | }
8 | @value


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using RazorWebSite


--------------------------------------------------------------------------------
/test/WebSites/RazorWebSite/readme.md:
--------------------------------------------------------------------------------
1 | RazorWebSite
2 | ===
3 | 
4 | This web site illustrates use cases for razor view engine, partials and view components.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Areas/Admin/Pages/LGAreaPage.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id?}"
2 | @model RoutingWebSite.Areas.Admin.Pages.LGAreaPageModel
3 | @{
4 | }
5 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Areas/Admin/Pages/LGAreaPage.cshtml.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc.RazorPages;
 5 | 
 6 | namespace RoutingWebSite.Areas.Admin.Pages
 7 | {
 8 |     public class LGAreaPageModel : PageModel
 9 |     {
10 |         public void OnGet()
11 |         {
12 |         }
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Controllers/DataTokensController.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace RoutingWebSite
 7 | {
 8 |     public class DataTokensController : Controller
 9 |     {
10 |         public object Index()
11 |         {
12 |             return RouteData.DataTokens;
13 |         }
14 |     }
15 | }


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Controllers/LG2Controller.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace RoutingWebSite
 7 | {
 8 |     public class LG2Controller : Controller
 9 |     {
10 |         public void SomeAction()
11 |         {
12 |         }
13 |     }
14 | }
15 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/Edit.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id}"
2 | 
3 | Hello from Edit page
4 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/LGAnotherPage.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id?}"
2 | @model RoutingWebSite.Pages.LGAnotherPageModel
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/LGPage.cshtml:
--------------------------------------------------------------------------------
1 | @page "{id?}"
2 | @model BasicWebSite.Pages.LGPageModel
3 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/PageRouteTransformer/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/PageRouteTransformer/PageWithConfiguredRoute.cshtml:
--------------------------------------------------------------------------------
1 | @page "ExtraPath/{id?}"
2 | Hello from @ViewContext.RouteData.Values["id"]


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/PageRouteTransformer/TestPage.cshtml:
--------------------------------------------------------------------------------
1 | @page "ExtraPath/{id?}"
2 | Hello from @ViewContext.RouteData.Values["id"]


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/Pages/PageWithLinks.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
3 | @{
4 | }
5 | 
6 | <a id="editlink" asp-page="/Edit" asp-route-id="10">Edit</a>
7 | <br />
8 | <a id="contactlink" asp-action="Contact" asp-controller="Home">Contact</a>
9 | 


--------------------------------------------------------------------------------
/test/WebSites/RoutingWebSite/readme.md:
--------------------------------------------------------------------------------
1 | RoutingWebSite
2 | ===
3 | 
4 | This web site illustrates how to use conventional and attribute routes.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/SecurityWebSite/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using SecurityWebSite
2 |     @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | 


--------------------------------------------------------------------------------
/test/WebSites/SecurityWebSite/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout";
3 | }
4 | 


--------------------------------------------------------------------------------
/test/WebSites/SecurityWebSite/appsettings.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "Logging": {
 3 |     "IncludeScopes": false,
 4 |     "LogLevel": {
 5 |       "Default": "Debug",
 6 |       "System": "Information",
 7 |       "Microsoft": "Information"
 8 |     }
 9 |   }
10 | }
11 | 


--------------------------------------------------------------------------------
/test/WebSites/SimpleWebSite/readme.md:
--------------------------------------------------------------------------------
1 | SimpleWebSite
2 | ===
3 | This sample web project illustrates a minimal site using `Microsoft.AspNetCore.Mvc.Core`.
4 | Please build from root (`.\build.cmd` on Windows; `./build.sh` elsewhere) before using this site.


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Components/JacketColor.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace TagHelpersWebSite
 5 | {
 6 |     public enum JacketColor
 7 |     {
 8 |         Red,
 9 |         Blue,
10 |         Green,
11 |         Navy,
12 |         Brown,
13 |         Purple
14 |     }
15 | }
16 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Employee/DuplicateAntiforgeryTokenRegistration.cshtml:
--------------------------------------------------------------------------------
 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
 2 | @{
 3 |     Layout = null;
 4 | }
 5 | <html>
 6 | <body>
 7 |     @*Form tag helper already registers antiforgery token. The Html helper call should be no-op*@
 8 |     <form asp-antiforgery="true" asp-action="DuplicateAntiforgeryTokenRegistration">@Html.AntiForgeryToken()</form>
 9 | </body>
10 | </html>
11 | 
12 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/CustomEncoder.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper TagHelpersWebSite.TagHelpers.CustomEncoderTagHelper, TagHelpersWebSite
2 | 
3 | @{
4 |     var count = 0;
5 |     var innerCount = 0;
6 | }
7 | 
8 | <pre>@(
quot;Outer knows <b>{ ++count } < 4</b>")
9 | <inner>@(
quot;Inner knows <b>{ ++innerCount } < 4</b>")</inner></pre>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/Index.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper TagHelpersWebSite.TagHelpers.DefaultEncoderTagHelper, TagHelpersWebSite
2 | 
3 | @{
4 |     var count = 0;
5 |     var innerCount = 0;
6 | }
7 | 
8 | <pre>@(
quot;Outer knows <b>{ ++count } < 4</b>")
9 | <inner>@(
quot;Inner knows <b>{ ++innerCount } < 4</b>")</inner></pre>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/NullEncoder.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper TagHelpersWebSite.TagHelpers.NullEncoderTagHelper, TagHelpersWebSite
2 | 
3 | @{
4 |     var count = 0;
5 |     var innerCount = 0;
6 | }
7 | 
8 | <pre>@(
quot;Outer knows <b>{ ++count } < 4</b>")
9 | <inner>@(
quot;Inner knows <b>{ ++innerCount } < 4</b>")</inner></pre>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/TwoEncoders.cshtml:
--------------------------------------------------------------------------------
 1 | @addTagHelper TagHelpersWebSite.TagHelpers.CustomEncoderTagHelper, TagHelpersWebSite
 2 | @addTagHelper TagHelpersWebSite.TagHelpers.NullEncoderTagHelper, TagHelpersWebSite
 3 | 
 4 | @{
 5 |     var count = 0;
 6 |     var innerCount = 0;
 7 | }
 8 | 
 9 | <pre>@(
quot;Outer knows <b>{ ++count } < 4</b>")
10 | <inner>@(
quot;Inner knows <b>{ ++innerCount } < 4</b>")</inner></pre>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/_Layout.cshtml:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | <html>
 3 |     <head>
 4 |         <title>@ViewData["Title"] - My MVC 6 Application</title>
 5 |     </head>
 6 |     <body>
 7 |         <h1>MVC 6 - @ViewData["Title"]</h1>
 8 |         <div>
 9 |             @RenderBody()
10 |         </div>
11 |     </body>
12 | </html>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @removeTagHelper "TagHelpersWebSite.TagHelpers.RootViewStartTagHelper, TagHelpersWebSite"


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Encoders/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "_Layout.cshtml";
3 | }
4 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Home/Help.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     ViewBag.Title = "Help";
3 | }
4 | 
5 | @addTagHelper TagHelpersWebSite.TagHelpers.ATagHelper, TagHelpersWebSite
6 | 
7 | <div>
8 |     <p>Hello, you've reached the help page. If you're having troubles try visiting our <a controller="home" action="index" approved="true">Approved Home Page</a></p>
9 | </div>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Home/NestedViewImportsTagHelper.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = null;
3 | }
4 | <root></root>
5 | 
6 | 
7 | <nested>some-content</nested>
8 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Home/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper TagHelpersWebSite.TagHelpers.NestedViewImportsTagHelper, TagHelpersWebSite
2 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/InheritedTagHelperPrefix.cshtml:
--------------------------------------------------------------------------------
1 | page:<inherited:root></inherited:root>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/NestedInheritedTagHelperPrefix/NestedInheritedTagHelperPrefix.cshtml:
--------------------------------------------------------------------------------
1 | page:<nested-root></nested-root>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/NestedInheritedTagHelperPrefix/NestedOverriddenTagHelperPrefix.cshtml:
--------------------------------------------------------------------------------
1 | @tagHelperPrefix nested-overridden
2 | 
3 | page:<nested-overriddenroot></nested-overriddenroot>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/NestedInheritedTagHelperPrefix/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @tagHelperPrefix nested-
2 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/OverriddenTagHelperPrefix.cshtml:
--------------------------------------------------------------------------------
1 | @tagHelperPrefix overridden
2 | 
3 | page:<overriddenroot></overriddenroot>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @tagHelperPrefix inherited:
2 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/InheritedTagHelperPrefix/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "~/Views/Shared/_LayoutWithRootTagHelper.cshtml";
3 | }
4 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/RemoveDefaultInheritedTagHelpers/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = null;
3 | }
4 | <a href="~/VirtualPath">Virtual path</a>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/RemoveDefaultInheritedTagHelpers/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @removeTagHelper *, Microsoft.AspNetCore.Mvc.Razor


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/RemoveInheritedTagHelpers/ViewWithInheritedRemoveTagHelper.cshtml:
--------------------------------------------------------------------------------
1 | page:<root/>
2 | <nested>some-content</nested>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/RemoveInheritedTagHelpers/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @removeTagHelper TagHelpersWebSite.TagHelpers.RootViewStartTagHelper, TagHelpersWebSite
2 | @addTagHelper TagHelpersWebSite.TagHelpers.NestedViewImportsTagHelper, TagHelpersWebSite
3 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/RemoveInheritedTagHelpers/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{ 
2 |     Layout = "~/Views/Shared/_LayoutWithRootTagHelper.cshtml";
3 | }
4 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Shared/Components/Copyright/Default.cshtml:
--------------------------------------------------------------------------------
1 | @model Dictionary<string, object>
2 | <footer>Copyright @Model["year"] @Model["website"]</footer>
3 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Shared/Components/Dan/Default.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 | <div id="ascii" style="font-family:Courier New, Courier, monospace; font-size: 6px">
3 |     @Html.Raw(Model)
4 | </div>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Shared/Components/Generic/Default.cshtml:
--------------------------------------------------------------------------------
 1 | @model Dictionary<string, List<string>>
 2 | <div>Items: </div>
 3 | <div>
 4 |     @foreach (var item in Model)
 5 |     {
 6 |         <strong>@item.Key</strong><br/>
 7 |         @foreach (var value in Model[item.Key])
 8 |         {
 9 |             <span>@value</span>
10 |         }
11 |     }
12 | </div>


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Shared/ViewWithLayoutAndNestedTagHelper.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "~/Views/Shared/_LayoutWithRootTagHelper.cshtml";
3 | }
4 | @addTagHelper TagHelpersWebSite.TagHelpers.NestedViewImportsTagHelper, TagHelpersWebSite
5 | <nested>some-content</nested>
6 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/Shared/_LayoutWithRootTagHelper.cshtml:
--------------------------------------------------------------------------------
1 | layout:<root></root>
2 | @RenderBody()


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper TagHelpersWebSite.TagHelpers.RootViewStartTagHelper, TagHelpersWebSite
2 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 |     Layout = "/Views/Shared/_Layout.cshtml";
3 | }
4 | 


--------------------------------------------------------------------------------
/test/WebSites/TagHelpersWebSite/readme.md:
--------------------------------------------------------------------------------
1 | TagHelpersWebSite
2 | ===
3 | 
4 | This web site illustrates how to register and use custom tag helpers.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/VersioningWebSite/readme.md:
--------------------------------------------------------------------------------
1 | VersioningWebSite
2 | ===
3 | 
4 | This web site illustrates how to implement a versioning policy using action constraints.
5 | 


--------------------------------------------------------------------------------
/test/WebSites/WebApiCompatShimWebSite/Models/Employee.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace WebApiCompatShimWebSite
 5 | {
 6 |     public class Employee
 7 |     {
 8 |         public int Id { get; set; }
 9 | 
10 |         public string Name { get; set; }
11 |     }
12 | }


--------------------------------------------------------------------------------
/test/WebSites/WebApiCompatShimWebSite/Models/User.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | 
 5 | namespace WebApiCompatShimWebSite
 6 | {
 7 |     public class User
 8 |     {
 9 |         public string Name { get; set; }
10 |     }
11 | }


--------------------------------------------------------------------------------
/test/WebSites/WebApiCompatShimWebSite/Models/UserAddress.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | 
 5 | namespace WebApiCompatShimWebSite
 6 | {
 7 |     public class UserAddress
 8 |     {
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/WebApiCompatShimWebSite/Models/UserKind.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace WebApiCompatShimWebSite
 5 | {
 6 |     public enum UserKind
 7 |     {
 8 |         Normal,
 9 |         Admin,
10 |         SuperAdmin,
11 |     }
12 | }


--------------------------------------------------------------------------------
/test/WebSites/WebApiCompatShimWebSite/readme.md:
--------------------------------------------------------------------------------
1 | WebApiCompatShimWebSite
2 | ===
3 | 
4 | This web site illustrates how to configure and use WebApiCompatShim to get `Web API 2.*` like behavior. Features which
5 | are used include but are not limited to action results, action selection and parameter binding.
6 | 


--------------------------------------------------------------------------------
/test/WebSites/XmlFormattersWebSite/Models/DummyClass.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | namespace XmlFormattersWebSite
 5 | {
 6 |     public class DummyClass
 7 |     {
 8 |         public int SampleInt { get; set; }
 9 |     }
10 | }


--------------------------------------------------------------------------------
/test/WebSites/XmlFormattersWebSite/Models/Person.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using System;
 5 | 
 6 | namespace XmlFormattersWebSite.Models
 7 | {
 8 |     public class Person
 9 |     {
10 |         public int Id { get; set; }
11 | 
12 |         public string Name { get; set; }
13 |     }
14 | }


--------------------------------------------------------------------------------
/test/WebSites/XmlFormattersWebSite/StartupWith21Compat.cs:
--------------------------------------------------------------------------------
 1 | // Copyright (c) .NET Foundation. All rights reserved.
 2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 3 | 
 4 | using Microsoft.AspNetCore.Mvc;
 5 | 
 6 | namespace XmlFormattersWebSite
 7 | {
 8 |     public class StartupWith21Compat : Startup
 9 |     {
10 |         public override CompatibilityVersion CompatibilityVersion => CompatibilityVersion.Version_2_1;
11 |     }
12 | }
13 | 
14 | 


--------------------------------------------------------------------------------
/test/WebSites/XmlFormattersWebSite/readme.md:
--------------------------------------------------------------------------------
1 | XmlFormattersWebSite
2 | ===
3 | 
4 | This web site illustrates how to configure and use `XmlSerializerInputFormatter`.
5 | 


--------------------------------------------------------------------------------