Go to file
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
.azure/pipelines [Infrastructure improvements] (#8275) 2019-03-20 08:44:20 +01:00
.config
.github Remove myself from CODEOWNERS for SignalR (#8434) 2019-03-12 13:15:13 -07:00
.vscode
build Unpin 3 Microsoft.Extensions.Configuration packages 2019-03-15 17:31:59 -07:00
docs Deprecate the Microsoft.AspNetCore.App metapackage in favor of targeting and runtime packs (#7832) 2019-02-28 10:14:18 -08:00
eng [Infrastructure improvements] (#8275) 2019-03-20 08:44:20 +01:00
src [Infrastructure improvements] (#8275) 2019-03-20 08:44:20 +01:00
.editorconfig Fix #7258 - remove components.server dependencies on blazor-specific plumbing (#7934) 2019-02-28 10:36:07 -08:00
.gitattributes
.gitignore Create Linux installers for the aspnetcore targeting pack (#7776) 2019-02-25 12:00:36 -08:00
.gitmodules Merge branch 'release/2.1' into merge 2019-02-01 14:49:05 -08:00
CONTRIBUTING.md Update CONTRIBUTING.md (#7622) 2019-02-15 11:50:04 -08:00
Directory.Build.props Deprecate the Microsoft.AspNetCore.App metapackage in favor of targeting and runtime packs (#7832) 2019-02-28 10:14:18 -08:00
Directory.Build.targets Deprecate the Microsoft.AspNetCore.App metapackage in favor of targeting and runtime packs (#7832) 2019-02-28 10:14:18 -08:00
LICENSE.txt
NuGet.config Replace npm commands with yarn 2019-02-22 13:30:19 -08:00
README.md
THIRD-PARTY-NOTICES.txt
activate.ps1 Show error message when activate.sh/ps1 is invoked directly instead of sourced (#7731) 2019-02-20 11:20:34 -08:00
activate.sh Show error message when activate.sh/ps1 is invoked directly instead of sourced (#7731) 2019-02-20 11:20:34 -08:00
build.cmd
build.ps1 Replace npm commands with yarn 2019-02-22 13:30:19 -08:00
build.sh Make Visual Studio 2019 a prerequisite to building this repo (#7005) 2019-02-20 09:53:53 -08:00
dockerbuild.sh Update dependencies and react to changes (#7844) 2019-02-22 19:09:08 -08:00
global.json Update SDK (#8115) 2019-03-04 12:59:49 -08:00
korebuild-lock.txt Add a separate test pass to run flaky tests that doesn't fail the build (#8486) 2019-03-18 18:21:14 -07:00
korebuild.json Remove VisualStudioExtension as a required workload (#7919) 2019-02-25 11:30:59 -08:00
restore.cmd
restore.sh Fix repo root in restore.sh (#7521) 2019-02-13 15:01:30 -08:00
startvs.cmd Install the .NET Core SDK into the repo root instead of UserProfile and 'install' copy of AspNetCore shared framework (#7293) 2019-02-06 11:20:49 -08:00
version.props Update branding to 2.2.4 2019-03-07 11:53:17 -08:00

README.md

ASP.NET Core

ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. Learn more about ASP.NET Core.

Get Started

Follow the Getting Started instructions in the ASP.NET Core docs.

Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.

How to Engage, Contribute, and Give Feedback

Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

These are some other repos for related projects:

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.