Commit Graph

16505 Commits

Author SHA1 Message Date
Justin Kotalik df3a702190 Update the SDK (#8670) 2019-04-01 15:18:18 -07:00
Pranav K d86c9b3f07
Use MessagePackReader \ MessagePackWriter to implement IHubProtocol for server-side Blazor (#8687)
* Use MessagePackReader \ MessagePackWriter to implement IHubProtocol for server-side Blazor

Fixes #7311
2019-04-01 14:25:23 -07:00
Steve Sanderson 7f4dd27551
Support triggering rendering from OnAfterRenderAsync. Fixes #8435 (#8960) 2019-04-01 13:01:33 +01:00
dotnet-bot f352ea5da7 Merge in 'release/2.2' changes 2019-03-31 22:34:13 +00:00
Ryan Nowak 285110de91 Add missing ref-assembly for header propagation
I think this was missed because the PR predates ref assemblies :)
2019-03-30 11:50:34 -07:00
BrennanConroy 9d8990a710
Remove pplx::task from public API (#8747) 2019-03-29 23:54:44 -07:00
David Fowler 61b3504dbe
Added NegotiateMetadata to negotiate endpoints (#8907)
- This makes it a bit cleaner to identify the negotiate when trying to apply policies (like replacing the endpoint)
- Added tests that cover MapConnectionHandler for endpoint routing
2019-03-29 19:24:43 -07:00
Ryan Nowak 284e968101 Add AddControllers and AddRazorPages
These are *new style* for configuring MVC in services. We're adding these to make
things feel a bit more tailored to those particular scenarios.

----

The main reason for this is that we've had repeated community asks for an
*API-optimized* way of configuring MVC. I don't think that using AddMvcCore
is a suitable building block, because it has too many options that you want.

I've think I've identified the reasonable set of features that should be part
of the default experience for APIs. All of these things are already pay-for-play
and are activated by the presence of attributes. The only additional cost is
loading of assemblies and a few additional inspections of the attributes
(cached).

----

Additionally the AddControllers experience is composible. You can add views
to it, or add pages and get the whole thing.

AddRazorPages is basically an alias for what AddMvc does today. We don't
currently have a way to add pages without controllers (the opposite is true).
Based on feedback we could specialize this more.

----

Branding and perception are important, and we've users ask for more flexibility
in what gets added. The plan is to update the templates to use this experience
in preview4, and see what kind of feedback we get.
2019-03-29 18:51:10 -07:00
Justin Kotalik 0cfac5b88d
Always replace ANCM in xdt transform(#8933) 2019-03-29 16:35:01 -07:00
Justin Kotalik 010139ac8a
Limit chunk size when writing chunked responses (#8837) 2019-03-29 16:34:26 -07:00
Alessio Franceschelli f28cf2bbc8 HeaderPropagation: propagate incoming request headers to outgoing HTTP requests (#7921)
* Ported HeaderPropagation from aspnet/Extensions

* Introduced Middleware

* Refactored middleware logic

* Refactored builder extensions

* Copyright notice

* Test for friendly exception on Builder

* Fixed header name selection when no output name specified

* Set comparer for the dictionary of headers

* Refactored configuration as Dictionary

* Renamed state objects

* renamed OutboundHeaderName in configuration

* Changed DefaultValuesGenerator to ValueFactory

* Missing docs

* Removed AlwaysAdd and added tests for null entry in configuration

* Improved docs

* Update src/Middleware/HeaderPropagation/src/DependencyInjection/HeaderPropagationExtensions.cs

Co-Authored-By: alefranz <alessio@franceschelli.me>

* Moved dependency injection extensions

* DI: reused ServiceCollection extension in the HttpClientBuilder one

* Moved service registration

* Update src/Middleware/HeaderPropagation/src/HeaderPropagationEntry.cs

Co-Authored-By: alefranz <alessio@franceschelli.me>

* more docs

* Improved docs

* Update src/Middleware/HeaderPropagation/src/HeaderPropagationValues.cs

Co-Authored-By: alefranz <alessio@franceschelli.me>

* Fixed build

* Update eng/SharedFramework.Local.props

Co-Authored-By: alefranz <alessio@franceschelli.me>

* Updated tests for null config

* Reversed condition on HeaderPropagationMessageHandler as suggested

* Added docs for HeaderPropagationMessageHandler

* Changed proj to ship package to NuGet
2019-03-29 12:00:46 -07:00
Steve Sanderson 77d9fae439
Supply "IsConnected" state info to components (#8888)
* Basic implementation of IComponentContext with IsConnected flag

* Update ref assembly code

* Begin infrastructure for prerendered E2E tests

* Actual E2E test for prerendered-to-interactive transition
2019-03-29 14:53:29 +00:00
Steve Sanderson 49b074d3c0
Fix base URI during prerendering (#8910) 2019-03-29 12:41:59 +00:00
Mikael Mengistu f10635f6c8
Java Client Expose ConnectionId on HubConnection (#8689) 2019-03-28 17:02:00 -07:00
Chris Ross e881ee58c0
Mark Flaky http.sys tests Internal/#1826 (#8890) 2019-03-28 15:59:59 -07:00
Ryan Nowak 658b37d2bd
Make UseEndpoints a thing (#8765)
* Make endpoint middleware explicit

This change makes the endpoint middleware explicit again, and updates
all of the templates.

The other change here is make UseEndpoints be the place where you
register endpoints. This is vital because it puts your code visually at
the point of the pipeline where it executes.

Lastly, I removed support for UseMvc with endpoint routing. This is
causing issues for some security features, and we're moving in the
direction of trying to make the middleware heavy implementation required
in 3.0. There are some issues we won't be able to fix in MVC if we can't
unambiguously know if UseMvc was used or the middleware.
2019-03-28 15:41:11 -07:00
Stephen Halter a170820017 Merge branch 'release/2.1' into release/2.2 2019-03-28 15:15:51 -07:00
Stephen Halter 062cfac384
Mark some Http2TimeoutTests as flaky (#8875)
* DATA_Sent_TooSlowlyDueToSocketBackPressureOnSmallWrite_AbortsConnectionAfterGracePeriod
* AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterCooldownExpires
2019-03-28 14:53:47 -07:00
Justin Kotalik a5791da8d3
Fix ContentLength_Received_ReadViaPipes (#8893) 2019-03-28 14:14:36 -07:00
Chris Ross 248d4e70a2
Add missing copyright in IntegrationTesting (#8891) 2019-03-28 13:23:06 -07:00
Mikael Mengistu 5e8a7ad725
Fix jasmine timeout for SignalR daily tests (#8748) 2019-03-28 11:45:15 -07:00
Stephen Halter 2b80b9fa01 Attempt to make MaxRequestBufferSizeTests.LargeUpload less flaky (#8582)
This is for the release/2.1 branch, but should probably be ported forward to master so the test can be unskipped.

Fixes https://github.com/aspnet/AspNetCore-Internal/issues/1775 (hopefully)
See https://github.com/aspnet/AspNetCore-Internal/issues/1970 for the master version.
2019-03-28 11:42:45 -07:00
Daniel Marbach d24ec01224 Add overload for Configure that gets WebHostBuilderContext (#8697) 2019-03-28 10:10:06 -07:00
Steve Sanderson 03357bf92b
Components: don't block the SignalR loop during init. Fixes #8274 (#8863) 2019-03-28 16:42:55 +00:00
Vance Morrison 18b81bacce Support for receiving ID via TraceParent HTTP header. (#8495)
- Also moved the fetching of ANY HTTP header fields until AFTER the most stringent
- Check to see if logging is on (thus deferring work if the logger is sampling).
- Added transfer of TraceState from http header to Activity
- Added tests to insure that we were reading traceparent and tracestate headers as expected.
2019-03-27 22:40:17 -07:00
Mikael Mengistu 017f409fe4
Expose ConnectionId on .NET Client (#8668) 2019-03-27 17:30:43 -07:00
Adrian Wright 768e2f8208 Remove explicit footer height 2019-03-27 21:51:22 +00:00
Steve Sanderson 63a4b5c27a
Fix rendering inheritance. Fixes #8192 (#8818)
* Make it irrelevant whether components call base.BuildRenderTree or not. Fixes #8192

* Remove base.BuildRenderTree calls from manually-implemented render logic

* Update ref assembly code
2019-03-27 21:26:13 +00:00
Ryan Nowak cc1b2941f9 Fix #8520 - Component parameters not found
This resolves the issue blocking use of component parameters from our
ref assemblies. Making properties public with private get is our
recommended guidance for wanting documentation to work in the IDE.

We also now need to manually generate the ref-assembly types for these
so they will show up for tooling with setters. I've logged an issue to
track whether we want to keep this long term, it seems like a suitable
workaround for now.
2019-03-27 12:10:43 -07:00
Ryan Brandenburg 8955a32ce9
MapController in RazorPages (#8685)
MapController in RazorPages
2019-03-27 10:49:33 -07:00
Steve Sanderson 8ae0791735 In Blazor Hosted template, explicitly enable compression for application/octet-stream
Otherwise, the latest ASP.NET Core won't compress those files
2019-03-27 17:37:24 +00:00
Steve Sanderson fdf7f58466 Handle asynchrony during app startup on WebAssembly. Fixes #8079 2019-03-27 17:37:24 +00:00
Ryan Brandenburg 7248ecbaf1
Make some skipped tests flaky (#8795) 2019-03-27 10:20:16 -07:00
Mikael Mengistu e979426809
Update Gradle to version 5.3 - Now with retries (#8840) 2019-03-27 10:04:25 -07:00
Pranav K cb6fb32529
Make building Components & Mvc solutions work out of the box (#8830)
* Make building Components & Mvc solutions work out of the box

Fixes https://github.com/aspnet/AspNetCore/issues/8413
2019-03-27 09:27:11 -07:00
Javier Calvarro Nelson 562d119ca4
Enable single pages directory (#8799)
* Enable single pages directory
* Rename Index.cshtml to Host.cshtml
* Get rid of _ViewImports.cshtml
2019-03-27 11:51:01 +01:00
Hao Kung 1f63f25508
[Helix] Enable Identity.FunctionalTests (#8564) 2019-03-26 10:27:55 -07:00
Pranav K d9bf01330a Update README.md 2019-03-26 09:59:44 -07:00
Pranav K 5f6caf3650 Set properties required for runtime compilation in RuntimeCompilation package
Fixes https://github.com/aspnet/AspNetCore/issues/7966
2019-03-26 09:59:23 -07:00
Ryan Brandenburg 70cd5f5f9f
Mark tests flaky instead of skipped (#8727)
Mark tests flaky instead of skipped
2019-03-26 09:51:37 -07:00
Steve Sanderson 341cd25e05
Update to newer Blazor.Mono. Fixes #6726 (#8782) 2019-03-26 09:53:15 +00:00
Chris S c054f5fa67 Update README.md (#6904) 2019-03-25 15:12:57 -07:00
BrennanConroy 969c72acfd
C++ client low level API (#8420) 2019-03-25 13:52:38 -07:00
Hao Kung b7e122fbac
Hook auth options validation into validation feature (#8665) 2019-03-25 11:35:39 -07:00
Hao Kung 6641a02ff2
Enable AuthSamples.FunctionalTests on helix (#8691) 2019-03-25 11:19:27 -07:00
Pranav K 287fd0bef7 Update to use _Imports.razor 2019-03-25 10:59:44 -07:00
Steven T. Cramer 0494dfa683 Update BlazorLibrary-CSharp to use .razor extention 2019-03-25 10:59:44 -07:00
Steven T. Cramer 3c63a76a3d Update BlazorStandalone-CSharp to use .razor extention 2019-03-25 10:59:44 -07:00
Steven T. Cramer 15cb6dff96 Update BlazorHosted-CSharp.Client to use .razor extention
This adds clarity and precision to the template.  The files are Blazor/RazorComponents and not normal Razor Pages.
2019-03-25 10:59:44 -07:00
Justin Kotalik 7a1a53d76d
React to sem version 2.0 (#8725) 2019-03-24 14:17:06 -07:00
Mikael Mengistu 316fbbe9c4
Marking tests as flaky(#8749) 2019-03-22 17:59:21 -07:00
Pranav K 9a35bbea03
Experience for Razor SDK (#8731)
* Experience for Razor SDK

* Remove Components.Build
* Update MVC projects and templates to use AddRazorSupportForMvc
* Update components templates to use .razor extension

Fixes https://github.com/aspnet/AspNetCore/issues/6392

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190321.3

- Microsoft.NET.Sdk.Razor - 3.0.0-preview4.19171.3
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview4.19171.3
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview4.19171.3
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview4.19171.3

* Update dependencies from https://github.com/dotnet/core-setup build 20190322.01

- Microsoft.NETCore.App - 3.0.0-preview4-27522-01

Dependency coherency updates

- Microsoft.Bcl.Json.Sources - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- Microsoft.CSharp - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- Microsoft.Win32.Registry - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.ComponentModel.Annotations - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Data.SqlClient - 4.7.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Diagnostics.EventLog - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.IO.Pipelines - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Net.Http.WinHttpHandler - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Net.WebSockets.WebSocketProtocol - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Reflection.Metadata - 1.7.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Runtime.CompilerServices.Unsafe - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Cryptography.Cng - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Cryptography.Pkcs - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Cryptography.Xml - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Permissions - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Security.Principal.Windows - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.ServiceProcess.ServiceController - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Text.Encodings.Web - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- System.Threading.Channels - 4.6.0-preview4.19164.7 (parent: Microsoft.NETCore.App)
- Microsoft.Extensions.DependencyModel - 3.0.0-preview4-27522-01 (parent: Microsoft.NETCore.App)
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19164.7 (parent: Microsoft.NETCore.App)

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190321.4

- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview4.19171.4
- dotnet-ef - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview4.19171.4
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview4.19171.4

* Update dependencies from https://github.com/aspnet/Extensions build 20190321.4

- Mono.WebAssembly.Interop - 3.0.0-preview4.19171.4
- Microsoft.JSInterop - 3.0.0-preview4.19171.4
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview4.19171.4
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview4.19171.4
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration - 3.0.0-preview4.19171.4
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview4.19171.4
- Microsoft.AspNetCore.Testing - 3.0.0-preview4.19171.4
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview4.19171.4
- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview4.19171.4
- Internal.AspNetCore.Analyzers - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview4.19171.4
- Microsoft.Extensions.WebEncoders - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Primitives - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Options - 3.0.0-preview4.19171.4
- Microsoft.Extensions.ObjectPool - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Console - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview4.19171.4
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview4.19171.4
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Hosting - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Http - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Localization - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview4.19171.4
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview4.19171.4

* Grab latest from other aspnet repos
- brings everything into coherence
- aspnet/Extensions packages with version 3.0.0-preview4.19172.1 from build 20190322.1
- aspnet/AspNetCore-Tooling packages with version 3.0.0-preview4.19172.2 from build 20190322.2
- aspnet/EntityFrameworkCore packages with version 3.0.0-preview4.19172.3 from build 20190322.3
2019-03-22 17:33:20 -07:00
Sebastien Ros 6d93a74a2c One more value 2019-03-22 16:49:09 -07:00
Sebastien Ros 1fb26a6467 Fixing NETCore.App version in benchmarks 2019-03-22 16:49:09 -07:00
BrennanConroy 4b230ec419
Copy EndpointFeature when using LongPolling (#8730) 2019-03-22 15:36:57 -07:00
Justin Kotalik 26a118e462
Allow more time to see if events are in the event log (#8729) 2019-03-22 14:47:39 -07:00
Justin Kotalik 2018b82ffe
React to breaking changes with M.A.Internal (#8638) 2019-03-22 14:41:06 -07:00
Daniel Roth 036dec9d37 Close meta tag in Blazor hosted template
Fixes https://github.com/aspnet/AspNetCore/issues/6610
2019-03-22 09:04:58 -07:00
David Fowler 0d6e0637af Small HubConnection cleanup (#8643) 2019-03-21 16:30:56 -07:00
Ryan Brandenburg 0c4b3fbd6d
Improve local development of Templates (#8196) 2019-03-21 16:29:45 -07:00
Pranav K f5ff181222
System.Text.Json based formatters (#8362)
* System.Text.Json based formatters

Fixes: https://github.com/aspnet/AspNetCore/issues/7256
2019-03-21 13:45:21 -07:00
Javier Calvarro Nelson 5f4be179e3
Fix and identify flaky components E2E Tests (#8690) 2019-03-21 07:39:47 +01:00
Eilon Lipton 69732c9ecc
Remove unused namespaces from Worker template Program.cs (#8574)
Follow-up to 17344cd37f
2019-03-20 20:54:40 -07:00
Chirag Rupani aa89639d62 Removed Content Type header for response when no content is being returned (#8557)
Addresses #8230
2019-03-20 13:15:42 -07:00
Ryan Nowak b743ba2f66 Throw unhandled exceptions during prerendering
Fixes: #8609

Currently exceptions thrown during prerendering are simply logged. This
change uses the existing *unhandled exception* mechanism of the
renderer/circuit to throw these. The result is that the developer
exception page just works for prerendering.
2019-03-20 13:02:24 -07:00
mnltejaswini 2a08c6e54d Pass the formatter context to the CreateJsonSerializer. It gives ability to override and create serializer specific to the context (#8358)
* Pass the formatter context to the CreateJsonSerializer so that it gives ability to override and create serializer specific to the context
2019-03-20 12:01:41 -07:00
Jacques Eloff 314f67ec6e
Merge pull request #8450 from aspnet/joeloff/7729
Fix for #7729 to ensure upgradable bundles
2019-03-20 11:40:08 -07:00
Andrew Stanton-Nurse e61aa05b72
Fix #7477 by updating HttpSys readme (#8662)
We changed the README to "archived" before merging this repo into mondo repo. Whoops :).
2019-03-20 09:33:31 -07:00
Justin Kotalik 2d145682ce
Update some tests to be flaky rather than skipped (#8666) 2019-03-20 08:59:43 -07:00
Javier Calvarro Nelson 9db249e30a
[Components][Fixes #8058] Update blazor template to use IWebHostEnvironment (#8234) 2019-03-20 16:59:17 +01:00
Justin Kotalik b8e7cbad02
Remove Out-Of-Process test site fixture and make deployer check physical (#8659) 2019-03-20 08:33:26 -07:00
Javier Calvarro Nelson 9f1a978230
[Infrastructure improvements] (#8275)
* Improved selenium start and tear down
  * Selenium is set up and torn down in an assembly fixture.
  * Selenium is initialized lazily and in a non-blocking way.
  * Selenium processes are tracked as part of the build and their pids
    written to a file on disk for cleanup in the event of unexpected
    termination of the test process.
  * Browser fixture retries with linear backoff to create a remote
    driver. Under heavy load (like when we are doing a simultaneous NPM
    restore) the selenium server can become unresponsive so we retry
    three times, with a longer comand timeout allowance each time up to
    a max of 3 minutes.
* Moved test project setup to build time instead of runtime.
  * Added target PrepareForTest to create the required files for testing
    * The template creation folder.
    * The template props file to use our built packages.
    * The folder for the custom hive.
  * Added assembly metadata attributes to find all the data we need to
    run the tests.
    * Path to the artifacts shipping packages folder.
    * Path to the artifacts non-shipping packages folder.
    * Path to the test templates creation folder.
    * Path to use for the custom templating hive used in tests.
  * Proper cleanup as part of the build
    * Remove the test templates creation folder.
    * Remove the test packages restore path.
    * Recreate the test templates creation folder.
    * Recreate the test packages restore path.
  * Generated Directory.Build.Props and Directory.Build.Targets in the
    test templates creation folder.
  * Cleaned up potentially stale templatetestsprops.
* Improved test flows
  * Initialization is done lazily and asynchronously.
    * Selenium
    * Browser fixture
    * Template initialization.
  * Flattened test flows to avoid assertions inside deep callstacks.
    * All assertions happen at the test level with improved error messages.
      * With the exception of the migrations assertions.
    * Assertions contain information about which step failed, for what
      project and what failure details.
  * Broke down tests to perform individual steps instead of mixing build
    and publish.
    * Publish project.
    * Build project. (Debug)
    * Run built project.
    * Run published project.
  * Concentrated build logic into the Project class.
    * Context between the different steps of a test is maintained in
      this class.
    * All operations that require coordination are performed within this
      class.
      * There is a lock for dotnet and a lock for nodejs. When building
        SPAs we acquire the nodejs lock to correctly prevent multiple
        runs of nodejs in parallel.

[ApiAuthorization template cleanups]
  * Fix preview3 issues with breaking changes on Entity framework by
    manually configuring the model in ApiAuthorizationDbContext.
  * Add app.db to the project file when using local db.
  * Fix linting errors on angular template.
  * Fix react tests
  * Add tests to cover new auth options in the SPA templates.
2019-03-20 08:44:20 +01:00
Chris Ross 0456c9dcc9
Handle SIGTERM exit code #6526 (#8294) 2019-03-19 19:15:00 -04:00
Artak Mkrtchyan 37a48d897b Update default log levels for templates 2019-03-19 13:52:14 -07:00
Jacques Eloff eb1ce947c5 Fix up property group, preprocessor statement 2019-03-19 11:50:13 -07:00
Jacques Eloff eb8ca48e77 Remove duplicate inputs 2019-03-19 11:50:12 -07:00
Jacques Eloff 2aabd9f847 Fix inputs for UpgradeCode 2019-03-19 11:50:11 -07:00
Jacques Eloff f87c75a90d Fix for #7729 to ensure upgradable bundles 2019-03-19 11:50:11 -07:00
Justin Kotalik 9f724f6ac4 Revert "Publish MusicStore as part of build (#8578)" (#8655)
This reverts commit f3eaa73c1a.
2019-03-19 11:03:48 -07:00
Mikael Mengistu 6038621630
Update acessTokenProvider selecting logic for restarting connection (#8569) 2019-03-19 10:55:53 -07:00
Justin Kotalik 26c487b0c0
Use examined rather than consumed for content length of body. (#8223) 2019-03-19 08:25:57 -07:00
Pranav K f3eaa73c1a
Publish MusicStore as part of build (#8578)
* Publish MusicStore as part of build

* Add a target to publish MusicStore as part of E2E tests
* Publishing for x86 causes unit tests in MusicStore to have weird
reference issues. Removing these since they are very pretty low value.
2019-03-19 07:17:55 -07:00
Doug Bunting bcead68f0c React to EntityFrameworkCore and AspNetCore-Tooling breaking changes
- avoid `[Obsolete]` EF Core method
- mirror recent `RazorIntegrationTestBase` changes in this repo
2019-03-18 19:36:09 -07:00
Doug Bunting 1d1d664ea1
Merge branch 'release/2.2' into master
- no-ops except for
  - Update PatchConfig.props (2835f85b6c)
  - Add some additional logging to ErrorPageMiddlewareWebSite (#8049) (aka 1ca6202e7e)
  - Put MVC's functional tests in a separate test group (#8118) (aka db3795b368)
- ignore the build queue (4f2a0edc97) change because we're not hitting Linux resource issues in `master` branch
- ignore baseline test changes (5661c41909 and d2a4435ac8) because they're not applicable in `master`
2019-03-18 12:36:01 -07:00
Ryan Nowak f303a55a8e Add skeleton to use components + prerendering
This adds the skeleton needed for components + prerendring development
in the MVC sandbox. We don't currently have a sample app for quick and
dirty testing.
2019-03-18 10:18:04 -07:00
Justin Kotalik a3c8bd16f7
Make Kestrels Internals truly internal. (#8517) 2019-03-18 10:15:39 -07:00
Matheus Marques 5c6e1aa1d9 [Templating] Fix react template typos (#8592) 2019-03-18 09:42:56 +01:00
Justin Kotalik 8349109647
Atomic swap the request drained handler when shutting down. (#8529) 2019-03-17 10:09:04 -07:00
Alexey Malinin 2eb0692434 Change name of argument in "WebHostExtensions" (#8411) 2019-03-16 12:16:27 -04:00
Hao Kung 95ab2fa4af
Split ILookupNormalizer.Normalize into Name/Email methods (#8412) 2019-03-15 14:00:40 -07:00
Pavel Krymets 22623b905f
Add dependency from AspNetCore targeting pack to dotnet Core targeting pack (#8490)
Fixes https://github.com/aspnet/AspNetCore/issues/8284
2019-03-15 11:28:42 -07:00
James Newton-King 47fab927a1
Add friendly error message to UrlHelper for when there is no IRouter (#8145) 2019-03-15 10:14:07 -07:00
Mikael Mengistu 694dcae53e Make ResetSendPing and ResetTimeout private methods (#8525) 2019-03-14 22:05:07 -07:00
Mikael Mengistu cfe0cc38ec Resolve deadlock with `InvokeAsync` in `On` handler (#8334)
- Use a channel to unblock the dispatch loop
- Added tests
2019-03-14 22:04:36 -07:00
Justin Kotalik 7569f14dd9 Lock when removing disconnect handler 2019-03-14 22:32:10 +00:00
Pavel Krymets a673be3b9a
Log all event log entries when assert fails (#8491) 2019-03-14 11:59:45 -07:00
Stephen Halter 1338973212
Better handle HttpConnectionContext state transitions (#8225) 2019-03-14 11:33:32 -07:00
Pranav K 7557cb916b Merge remote-tracking branch 'origin/release/2.1' into prkrishn/merge/2.1 2019-03-14 10:04:38 -07:00
Mikael Mengistu a5e20fdc90
Fix SignalR build from VS (#8492) 2019-03-14 10:04:04 -07:00
Ryan Nowak 30d0afca05 Remove DisplayName overload from health checks
The builder now provides this directly.
2019-03-13 20:12:53 -07:00
Ryan Nowak 0dc14a61ce Simplify Map methods 2019-03-13 20:12:53 -07:00
Ryan Nowak 4b4614635f Change template -> pattern for MVC 2019-03-13 20:12:53 -07:00
Ryan Nowak e78a6521b9 Make naming of IEndpointRouteBuilderConsistent across usages. 2019-03-13 20:12:53 -07:00
Doug Bunting 0c6591baea
Merge release/2.1 up to commit d2a4435ac8 => release/2.2
- remove updates about baseline test (5661c41909 and d2a4435ac8)
  - already done (differently) in release/2.2
- add JDK installation -- missing in these images but not needed in `release/2.1`
- add packages needed to run Chrome
2019-03-13 19:17:05 -07:00
Justin Kotalik 1679ba7844
Fix AppOfflineDroppedWhileSiteStarting_SiteShutsDown_InProcess (#8419) 2019-03-13 14:59:41 -07:00
Ryan Nowak d329cca17d Change APIs to internal in Diagnostics
These types are still used, but we don't want them to be public.
2019-03-13 13:15:06 -07:00
Pranav K 55e9bfe78f
Skip functional tests until https://github.com/aspnet/AspNetCore/issues/8439 is resolved (#8481)
* Skip functional tests until https://github.com/aspnet/AspNetCore/issues/8439 is resolved
2019-03-13 12:29:22 -07:00
Arthur Vickers a8fd7f4ec9 Add MemoryCache services where needed
Previously the tests were relying on EF adding the services. See https://github.com/aspnet/EntityFrameworkCore/issues/14756 and https://github.com/aspnet/AspNetCore/issues/7728
2019-03-13 11:38:56 -07:00
Justin Kotalik 9791f5e244
Refresh process (#8459) 2019-03-13 10:14:07 -07:00
Hao Kung 721efd2d48
Try removing ref to identity in EF stores (#8357) 2019-03-13 10:06:57 -07:00
BrennanConroy 2aa6c01b58
C++11 compliant (#8457) 2019-03-12 22:48:23 -07:00
Justin Kotalik 17d072fa30
Send window updates based on examined rather than consumed. (#8200) 2019-03-12 22:00:47 -07:00
Justin Kotalik 16cd69f164
Disable framework exception on back compat tests (#8460) 2019-03-12 21:59:29 -07:00
Justin Kotalik 899fc117c6
Disable flaky music store test (#8461) 2019-03-12 21:59:13 -07:00
Pavel Krymets afeb139a5c
Consume Microsoft.Internal.Extensions.Refs (#8261) 2019-03-12 12:47:06 -07:00
Andrew Stanton-Nurse 61a9964a15
[BRT] Mitigating flaky SignalR tests (#8423)
* add the ability to skip c++ tests and skip signalr one (mitigates #8421)
2019-03-12 12:33:54 -07:00
Mikael Mengistu 5efa1ba0b9
Fix SignalR transport test (#8424) 2019-03-12 12:22:02 -07:00
David Fowler 107e1862b7
Add HubMetdata (#8425)
- Added HubMetadata to detect the hub type on Endpoints
- Added a test
2019-03-12 11:33:55 -07:00
James Newton-King 21b20afb1d
Add friendly error message for when healthchecks services not registered (#8146) 2019-03-12 11:32:58 -07:00
BrennanConroy e4f5fef7ac
Fix race in LongPolling causing flaky tests (#8114) 2019-03-12 10:24:54 -07:00
Ben Adams a95c4b6fd0 ReadOnlySpan goodness (#8392) 2019-03-11 22:28:20 -07:00
Chris Baudin 77948feeba Update reference assemblies for health checks. 2019-03-11 20:56:08 -07:00
Chris Baudin 484978fe59 Update the health check endpoint route builder extensions to make the endpoint display name configurable. (#8359) 2019-03-11 20:56:08 -07:00
Mikael Mengistu 96764d27eb
Returning rejected promises in HttpConnection (#8315) 2019-03-11 16:33:09 -07:00
Andrew Stanton-Nurse c9c2bf6ea5
even more skipping! (#8286) 2019-03-11 14:50:35 -07:00
Pranav K 0d10c49823
Make IApiBehaviorMetadata public (#8410)
Fixes https://github.com/aspnet/AspNetCore/issues/8403

The analyzer expects the type to be present. However since it's listed
as internal, it is not present when compiling against the ref assembly \ targeting pack.

It was left as internal so we could evolve it later, but we haven't found a need for it as yet.
2019-03-11 14:25:45 -07:00
Pranav K 4a5f2d16bb
Make pubinternal types in Antiforgery internal (#8340)
* Make pubinternal types in Antiforgery internal
Adresses https://github.com/aspnet/AspNetCore/issues/8308
2019-03-11 14:18:17 -07:00
Ryan Brandenburg 8250442159
Add tests for identity UI (#8351) 2019-03-11 11:21:43 -07:00
Javier Calvarro Nelson d7a9606040
[Templating][Components] Unify and improve E2E testing infrastructure (#8188)
* Unify the Templating and Components testing infrastructure.
* Enable test project discovery in the components E2E tests.
* Enable selectively disabling Selenium tests through build properties.
2019-03-11 18:40:18 +01:00
Andrew Stanton-Nurse 8759aa2fc0
SignalR additional xml docs (#7980)
Reviewed our xml docs as both ramping back up after leave and docathon. Things look pretty good, added a few things to some public methods.
2019-03-11 09:29:41 -07:00
Pavel Krymets b2a58ab8de
Skip IIS Express on Windows 7 (#8330)
https://github.com/aspnet/AspNetCore/issues/8329
2019-03-11 08:44:28 -07:00
Eilon Lipton 17344cd37f Improvements to Worker.cs project template item
Fixes #8354
2019-03-10 22:43:54 -07:00
Stephen Halter 1ac6f3d4fd Properly update examined when parsing chunked requests (part 2) (#8360) 2019-03-08 22:24:02 -08:00
sprelog bc009fc0f1 fixing possible NRE, when viewContext is null 2019-03-08 15:02:02 -08:00
Hao Kung f4c80ca99f
EF UserStore FindByEmail will throw on dupes (#8220) 2019-03-08 11:39:26 -08:00
Hao Kung a53accfd75
[Helix] Reenable dotnet-watch on helix (#8258) 2019-03-08 11:32:02 -08:00
John Luo 2cf67cb7c0
Update template icons (#7931) 2019-03-08 10:44:32 -08:00
Andrew Stanton-Nurse 6a73d75688
fix skipped test to actually be skipped (#8238) 2019-03-08 10:24:48 -08:00
BrennanConroy aef62d9ff8 Backport SSR fix (#8174) 2019-03-08 10:00:18 -08:00
David Fowler bd6faa5ca1
Chunked request parsing does not properly update examined (#8318)
- The chunked parsing logic didn't properly update the examined position when parsing the chunked prefix. This started to throw because Pipe now throws if examined is set to the position before the previous.
2019-03-08 09:42:02 -08:00
Chris Ross ce04a1a723
Allow sync IO for NewtonsoftJsonOutputFormatter #8302 (#8303) 2019-03-07 19:11:35 -08:00
Justin Kotalik bae2f2280a
Make StartAsync not throw if we haven't started the response (#8199) 2019-03-07 18:32:19 -08:00
Mikael Mengistu c0c2bb3049
Skip flaky transport test (#8295) 2019-03-07 18:26:38 -08:00
Justin Kotalik c79b2413cc
Swap installer order (#8266) 2019-03-07 15:45:31 -08:00
Ryan Brandenburg e0ce17bc3f
Update IDs for RazorComponents (#8301) 2019-03-07 14:43:44 -08:00
Pranav K 41e6fc8ab0 Use ApplicationPartFactory when adding application parts
Fixes https://github.com/aspnet/AspNetCore/issues/8288
2019-03-07 13:38:31 -08:00
Pranav K 8aa02180fb
Skip tests until we can diagnose failures (#8298) 2019-03-07 13:13:23 -08:00
Doug Bunting 4cbc33da74 Update branding to 2.2.4 2019-03-07 11:53:17 -08:00
Chris Ross 6db129a588
Support conditional compression #6925 (#8239) 2019-03-07 11:09:48 -08:00
Andrew Stanton-Nurse 7fb3d57f54
Skip some more flaky tests (#8194) 2019-03-07 09:40:26 -08:00
Mikael Mengistu b1f828e161
Client to Sever Streaming Java Edition (#8222) 2019-03-07 09:34:28 -08:00
Chris Ross 5170c31b23
Add details to the JwtBearer error messages #4679 (#8259) 2019-03-07 08:15:16 -08:00
Hao Kung 435867e8c5
Add ability to skip tests on specific helix queues (#8231) 2019-03-06 23:53:18 -08:00
Doug Bunting e497f4101f
Update branding to 2.1.10 (#8265) 2019-03-06 19:45:46 -08:00
Doug Bunting 697a1009d2
Merge branch 'release/2.2' => 'master' (#7630)
- barely [automated]
2019-03-06 14:42:33 -08:00
Kevin Ransom (msft) 35ac392fb6 Fix F# template (#7637) 2019-03-06 12:47:28 -08:00
Justin Kotalik 02dbe55466
Fix StartsWithPortableAndBootstraperExe (#8219) 2019-03-06 11:59:42 -08:00
Ryan Brandenburg 706b8345dc Regenerate package-lock.json 2019-03-06 11:55:05 -08:00
Ryan Brandenburg 7573597577 Merge branch 'merge/release/2.2-to-master' of github.com:dotnet-maestro-bot/AspNetCore into merge/release/2.2-to-master 2019-03-06 11:36:41 -08:00
Ryan Nowak a1ec03e1e6 Add fallback routing for controllers and pages 2019-03-06 09:48:07 -08:00
Ryan Nowak bb28db6fb2 Generalize Action Selection logic
Allows us to use the "select action via route values" logic for
endpoints.
2019-03-06 09:48:07 -08:00
Ryan Nowak 8a46e8cd93 Update SpaDefaultPageMiddleware for endpoints
This change makes the SpaDefaultPageMiddleware noop when an endpoint has
been chosen. This is a problem today because this usually runs after
routing, but its always terminal.

So even if endpoint routing selected something, this would still serve
the default file. We're adding more things that fill this niche, but it
seems like a good idea to fix the existing stuff.
2019-03-06 09:48:07 -08:00
Ryan Nowak 089f64c528 Add fallback routing to file
This is a new routing feature that integrates static files to serve a
static file when routing doesn't match anything else.

This is a scenario that's covered by SPA services today, but given the
improvements to routing it makes much more sense to move lower in the
stack.
2019-03-06 09:48:07 -08:00
Ryan Nowak 7e63e2da43 Make StaticFiles Noop for middleware
Teaches all of the static files middleware (incl default files,
directory browser) to noop when an endpoint is selected. This is
desirable so you can place them after routing if you want with no ill
effect.
2019-03-06 09:48:07 -08:00
Ryan Nowak f150e89125 Add file/non-file and generic fallback
Adds new constraints for checking if a route value is a file or not.

Added a new set of builder methods that specify what it means to be a
'fallback'. This is really similar to what the older SPA fallback routes
do, but this is lower in the stack and directly integrated with
endpoints.
2019-03-06 09:48:07 -08:00
David Fowler 4c79e7fdc0
Rename Pipe properties (#8227)
* Rename Pipe properties
- Rename BodyPipe to BodyReader and BodyWriter on the request and response directly
2019-03-06 07:33:24 -08:00
Mikael Mengistu 563a488f3b Add baseline test (#7988)
- mostly matching what's in `release/2.2`
2019-03-05 15:50:25 -08:00
Andrew Stanton-Nurse 303a354993
skip another flaky kestrel test in helix (#8216)
related #8215
2019-03-05 15:09:56 -08:00
Jeremy Lawrence a1f544b62f Correct doc comment for ApiConventionTypeMatchBehavior (#7861) 2019-03-05 14:43:59 -08:00
Pranav K b90220ad05
Improve NullHtmlEncoder perf (#7987)
Fixes #7987
2019-03-05 14:41:55 -08:00
shnja 4c3996f824 Use Request.Scheme instead of Protocol (#7911) 2019-03-05 14:39:37 -08:00
Hao Kung 4e271ac124
Send email confirmation after register via external login (#8013) 2019-03-05 13:53:15 -08:00
Chris Ross def25cb3de
Document the change policy for FileExtensionContentTypeProvider #2454 (#8213) 2019-03-05 13:50:48 -08:00
BrennanConroy 58ad7b7550
Fix build flakiness (#8211) 2019-03-05 12:59:21 -08:00
Pranav K b41959ac32 Add additional logging to TempDataInCookiesTest to diagnose test failure
Diagnosis for https://github.com/aspnet/AspNetCore-Internal/issues/1803
2019-03-05 12:33:49 -08:00
Pranav K 44c66c8314 Revert "Skipping flaky test"
This reverts commit 680c069554fd2a184b8a3030711aed35d4293c4b.
2019-03-05 12:33:49 -08:00
Ryan Brandenburg 0add673139
Include more template baselines (#4186)
Include more template baselines
2019-03-05 12:02:34 -08:00
Mikael Mengistu 9b4f8d79fd
Fix Java Client transport select (#8143) 2019-03-05 11:31:56 -08:00
Pavel Krymets 2665f6d238
Isolate message compiler output files (#8197) 2019-03-05 11:27:09 -08:00
Ryan Brandenburg 414d8a514f
Add missing doc comments (#8035) 2019-03-05 10:01:20 -08:00
David Fowler d1ee93b94b
Allow disabling automatic MVC reference (#8167) 2019-03-05 09:19:28 -08:00
Andrew Stanton-Nurse 98a49e332f
skip flaky SignalR test: ErrorDuringPollWillCloseConnection (#8171)
see #8138 for discussion on test priority and re-enabling
2019-03-05 08:30:40 -08:00
Andrew Stanton-Nurse e0dbc21ccc
skip flaky Kestrel ValidationFailureRejectsConnection test on Helix (#8170)
See #8168 for details on the failure and discussions on priority of unskipping.
2019-03-05 08:23:58 -08:00
BrennanConroy c8c12cda9b
Fix test discovery (#8201) 2019-03-04 23:11:16 -08:00
Pranav K 33839dc66a
Client reconnects when state's available on the server (#7395)
Reconnect if we have state on the server

Fixes #7537
2019-03-04 17:27:51 -08:00
Justin Kotalik d09c6e8576
Disable ConfigurationChange Test (#8113) 2019-03-04 16:58:28 -08:00
Ben Adams 19b52bdc8b Elide bounds check for MethodToString (#7887) 2019-03-04 16:44:21 -08:00
Chris Ross b9fda976c0
Update Worker template for Worker SDK (#7965)
* Update Worker template for Worker SDK

* Change template order

* Remove servergc
2019-03-04 16:17:25 -08:00
Pranav K 39e52578d3
Make page load async when using endpoint routing (#7938)
* Make page load async

Fixes #8016
2019-03-04 14:45:59 -08:00
Hao Kung 48a67cfd18
Fix for external logins disappearing after failed login (#7002)
Also adds external logins to register page
2019-03-04 12:46:18 -08:00
BrennanConroy 508256d028
Always load NodeHttpClient to fix SSR (#8047) 2019-03-04 09:16:52 -08:00
Steve Sanderson 7111c8ffd7 Handle async exceptions when not rendering root component. Fixes #8151 2019-03-04 16:44:42 +00:00
Andrew Stanton-Nurse 7b24304739
skip flaky SecureDataFormatTest in Helix (#8129)
related #7366
2019-03-04 07:50:53 -08:00
Nikita Potapenko 83cb05d83c Rename DataProtectorTokenProvider (#8027) 2019-03-04 02:03:31 -08:00
David Fowler 9cb1185a5c
Add option to restrict the maximum hub message size (#8135)
- This change moves the limit checking from the transport layer to the protocol parsing layer. One nice side effect is that it gives us better control over error handling.
2019-03-03 15:18:32 -08:00
BrennanConroy 67d339ee3b
C++ client: string_t to string (#8063) 2019-03-02 22:11:18 -08:00
Ben Adams ddce32a791 Use C#8 (#8128) 2019-03-02 19:48:43 -08:00
Andrew Stanton-Nurse 4aad7548c1
skip Libuv.FunctionalTests RemoteIPv6Address on Helix (#8111) 2019-03-01 18:37:51 -08:00
Andrew Stanton-Nurse 6e8a9f6d6a
Skip flaky clientcert test in Kestrel (#8112)
related #7265

flaked out in https://github.com/aspnet/AspNetCore/pull/7987
2019-03-01 18:37:23 -08:00
Pranav K db3795b368
Put MVC's functional tests in a separate test group (#8118)
Possible fix to https://github.com/aspnet/AspNetCore/issues/7313
One of the characteristics of these failures were that the
test took long to run. The build log has warnings for
several long running tests. This might be a result of CPU
contention since mondo-ification that make MVC's functional tests
run with nearly every other test project in the solution
2019-03-01 17:52:50 -08:00