forked from dotnet/aspnetcore
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create Kestrel.sln, update documentation and README, and ensure all K…
…estrel test projects have the test logger installed
- Loading branch information
Nate McMaster
committed
Nov 14, 2018
1 parent
02536ff
commit 51c9b73
Showing
11 changed files
with
586 additions
and
94 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,3 +25,4 @@ msbuild.ProjectImports.zip | |
scripts/tmp/ | ||
.dotnet/ | ||
.tools/ | ||
launchSettings.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,105 +1,38 @@ | ||
ASP.NET Core | ||
======== | ||
============ | ||
|
||
Build infrastructure used to produce the whole ASP.NET Core stack. | ||
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](https://docs.microsoft.com/aspnet/core/). | ||
|
||
## Released Builds | ||
## Get Started | ||
|
||
### ASP.NET Core Runtime Store | ||
Follow the [Getting Started](https://docs.microsoft.com/aspnet/core/getting-started) instructions in the [ASP.NET Core docs](https://docs.microsoft.com/aspnet/index). | ||
|
||
The runtime store can be downloaded from [here](https://microsoft.com/net/download). | ||
Also check out the [.NET Homepage](https://www.microsoft.com/net) for released versions of .NET, getting started guides, and learning resources. | ||
|
||
### NuGet packages | ||
## How to Engage, Contribute, and Give Feedback | ||
|
||
All published ASP.NET Core packages can be found on <https://www.nuget.org/profiles/aspnet>. | ||
Some of the best ways to contribute are to try things out, file issues, join in design conversations, | ||
and make pull-requests. | ||
|
||
Commonly referenced packages: | ||
* [Download our latest daily builds](./docs/DailyBuilds.md) | ||
* Follow along with the development of ASP.NET Core: | ||
* [Community Standup](http://live.asp.net): The community standup is held every week and streamed live to YouTube. You can view past standups in the linked playlist. | ||
* [Roadmap](https://github.com/aspnet/AspNetCore/wiki/Roadmap): The schedule and milestone themes for ASP.NET Core. | ||
* [Build ASP.NET Core source code](./docs/BuildFromSource.md) | ||
* Check out the [contributing](CONTRIBUTING.md) page to see the best places to log issues and start discussions. | ||
|
||
[app-metapackage-nuget]: https://nuget.org/packages/Microsoft.AspNetCore.App | ||
[app-metapackage-nuget-badge]: https://img.shields.io/nuget/v/Microsoft.AspNetCore.App.svg?style=flat-square&label=nuget | ||
## Reporting security issues and bugs | ||
|
||
[metapackage-nuget]: https://nuget.org/packages/Microsoft.AspNetCore | ||
[metapackage-nuget-badge]: https://img.shields.io/nuget/v/Microsoft.AspNetCore.svg?style=flat-square&label=nuget | ||
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](https://technet.microsoft.com/en-us/security/ff852094.aspx). | ||
|
||
Package | NuGet.org | ||
:---------------------------------|:--------------------------------------------------------- | ||
Microsoft.AspNetCore.App | [![][app-metapackage-nuget-badge]][app-metapackage-nuget] | ||
Microsoft.AspNetCore | [![][metapackage-nuget-badge]][metapackage-nuget] | ||
## Related projects | ||
|
||
These are some other repos for related projects: | ||
|
||
## Daily builds | ||
* [Documentation](https://github.com/aspnet/Docs) - documentation sources for https://docs.microsoft.com/aspnet/core/ | ||
* [Entity Framework Core](https://github.com/aspnet/EntityFrameworkCore) - data access technology | ||
* [Extensions](https://github.com/aspnet/Extensions) - Logging, configuration, dependency injection, and more. | ||
|
||
### NuGet packages | ||
## Code of conduct | ||
|
||
Packages can be found on <https://dotnet.myget.org/gallery/dotnet-core>. This feed may include | ||
packages that will not be supported in a officially released build. | ||
|
||
Commonly referenced packages: | ||
|
||
[app-metapackage-myget]: https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.AspNetCore.App | ||
[app-metapackage-myget-badge]: https://img.shields.io/dotnet.myget/dotnet-core/v/Microsoft.AspNetCore.App.svg?style=flat-square&label=myget | ||
|
||
[metapackage-myget]: https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.AspNetCore | ||
[metapackage-myget-badge]: https://img.shields.io/dotnet.myget/dotnet-core/v/Microsoft.AspNetCore.svg?style=flat-square&label=myget | ||
|
||
Package | MyGet | ||
:---------------------------------|:--------------------------------------------------------- | ||
Microsoft.AspNetCore.App | [![][app-metapackage-myget-badge]][app-metapackage-myget] | ||
Microsoft.AspNetCore | [![][metapackage-myget-badge]][metapackage-myget] | ||
|
||
### ASP.NET Core Shared Framework | ||
|
||
[badge-master]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-win-x64-version-badge.svg | ||
[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-win-x64.zip | ||
[win-x64-exe]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-win-x64.exe | ||
[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-win-x86.zip | ||
[win-x86-exe]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-win-x86.exe | ||
[linux-x64-tar]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-linux-x64.tar.gz | ||
[linux-arm-tar]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-linux-arm.tar.gz | ||
[osx-x64-tar]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-osx-x64.tar.gz | ||
[debian-x64-deb]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-x64.deb | ||
[redhat-x64-rpm]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-x64.rpm | ||
[linux-musl-x64-tar]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/master/aspnetcore-runtime-latest-linux-musl-x64.tar.gz | ||
|
||
[badge-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-win-x64-version-badge.svg | ||
[win-x64-zip-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-win-x64.zip | ||
[win-x64-exe-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-win-x64.exe | ||
[win-x86-zip-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-win-x86.zip | ||
[win-x86-exe-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-win-x86.exe | ||
[linux-x64-tar-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-linux-x64.tar.gz | ||
[osx-x64-tar-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-osx-x64.tar.gz | ||
[debian-x64-deb-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-x64.deb | ||
[redhat-x64-rpm-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-x64.rpm | ||
[linux-arm-tar-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-linux-arm.tar.gz | ||
[linux-musl-x64-tar-rel-21]: https://dotnetcli.blob.core.windows.net/dotnet/aspnetcore/Runtime/release/2.1/aspnetcore-runtime-latest-linux-musl-x64.tar.gz | ||
|
||
Platform | Latest (dev branch) <br> ![][badge-master] | release/2.1 <br> ![][badge-rel-21] | ||
:---------------------|:----------------------------------------------------------------|:------------------------------------------------------------------------- | ||
Windows (x64) | [Installer (exe)][win-x64-exe]<br>[Archive (zip)][win-x64-zip] | [Installer (exe)][win-x64-exe-rel-21]<br>[Archive (zip)][win-x64-zip-rel-21] | ||
Windows (x86) | [Installer (exe)][win-x86-exe]<br>[Archive (zip)][win-x86-zip] | [Installer (exe)][win-x86-exe-rel-21]<br>[Archive (zip)][win-x86-zip-rel-21] | ||
macOS (x64) | [Archive (tar.gz)][osx-x64-tar] | [Archive (tar.gz)][osx-x64-tar-rel-21] | ||
Linux (x64)<br>_(for glibc based OS - most common)_ | [Archive (tar.gz)][linux-x64-tar] | [Archive (tar.gz)][linux-x64-tar-rel-21] | ||
Linux (x64 - musl)<br>_(for musl based OS, such as Alpine Linux)_ | [Archive (tar.gz)][linux-musl-x64-tar] | [Archive (tar.gz)][linux-musl-x64-tar-rel-21] | ||
Linux (arm32) | [Archive (tar.gz)][linux-arm-tar] | [Archive (tar.gz)][linux-arm-tar-rel-21] | ||
Debian/Ubuntu (x64) | [Installer (deb)][debian-x64-deb] | [Installer (deb)][debian-x64-deb-rel-21] | ||
RedHat/Fedora (x64) | [Installer (rpm)][redhat-x64-rpm] | [Installer (rpm)][redhat-x64-rpm-rel-21] | ||
|
||
## Building from source | ||
|
||
``` | ||
git clone --recursive https://github.com/aspnet/AspNetCore.git | ||
cd AspNetCore | ||
./build.cmd | ||
``` | ||
|
||
### Useful properties and targets | ||
Property | Purpose | Example | ||
-----------------------------------|--------------------------------------------------------------------------------|-------- | ||
`SkipTests` | Only build repos, don't run the tests. | `/p:SkipTests=true` | ||
`TestOnly` | Don't package or verify things. | `/p:TestOnly=true` | ||
`KOREBUILD_REPOSITORY_INCLUDE` | A list of the repositories to include in build (instead of all of them). | `$env:KOREBUILD_REPOSITORY_INCLUDE='Antiforgery;CORS'` | ||
`KOREBUILD_REPOSITORY_EXCLUDE` | A list of the repositories to exclude from build (all the rest will be built). | `$env:KOREBUILD_REPOSITORY_EXCLUDE='EntityFramework'` | ||
|
||
## More info | ||
|
||
This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo. | ||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
Build ASP.NET Core from Source | ||
============================== | ||
|
||
Building ASP.NET Core from source allows you tweak and customize ASP.NET Core, and | ||
to contribute your improvements back to the project. | ||
|
||
## :warning: Temporary instructions | ||
|
||
We are currently in the middle of restructing our repositories. While this work is being done, the following instructions will help you be more productive while working on this repo. | ||
|
||
1. Before opening a solution, run `build.cmd /p:_ProjectsOnly=true /p:SkipTests=true`. This will only build the projects which have merged into this repo, not the git submodules. | ||
2. Use (or create) a solution which is scoped to your project file. The build system does not use .sln files. These only exist for developer productivity in Visual Studio, so feel free to adjust the projects in .sln files to match your workload. | ||
3. Questions? Contact @aspnet for help. | ||
|
||
## Install pre-requistes | ||
|
||
### Windows | ||
|
||
Building ASP.NET Core on Windows requires: | ||
|
||
* Windows 7 or higher | ||
* At least 10 GB of disk space and a good internet connection (our build scripts download a lot of tools and dependencies) | ||
* Visual Studio 2017. <https://visualstudio.com> | ||
* Git. <https://git-scm.org> | ||
* (Optional) some optional components, like the SignalR Java client, may require | ||
* NodeJS <https://nodejs.org> | ||
* Java Development Kit 10 or newer. Either: | ||
* OpenJDK <http://jdk.java.net/10/> | ||
* Oracle's JDK <https://www.oracle.com/technetwork/java/javase/downloads/index.html> | ||
|
||
### macOS/Linux | ||
|
||
Building ASP.NET Core on macOS or Linux requires: | ||
|
||
* If using macOS, you need macOS Sierra or newer. | ||
* If using Linux, you need a machine with all .NET Core Linux prerequisites: <https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites> | ||
* At least 10 GB of disk space and a good internet connection (our build scripts download a lot of tools and dependencies) | ||
* Git <https://git-scm.org> | ||
* (Optional) some optional components, like the SignalR Java client, may require | ||
* NodeJS <https://nodejs.org> | ||
* Java Development Kit 10 or newer. Either: | ||
* OpenJDK <http://jdk.java.net/10/> | ||
* Oracle's JDK <https://www.oracle.com/technetwork/java/javase/downloads/index.html> | ||
|
||
## Clone the source code | ||
|
||
ASP.NET Core uses git submodules to include source from a few other projects. | ||
|
||
For a new copy of the project, run: | ||
``` | ||
git clone --recursive https://github.com/aspnet/AspNetCore | ||
``` | ||
|
||
To update an existing copy, run: | ||
``` | ||
git submodule update --init --recursive | ||
``` | ||
|
||
## Building in Visual Studio / Code | ||
|
||
Before opening our .sln files in Visual Studio or VS Code, executing the following on command-line: | ||
``` | ||
.\build.cmd /t:Restore | ||
``` | ||
This will download required tools. | ||
|
||
#### PATH | ||
|
||
For VS Code and Visual Studio to work correctly, you must place the following location in your PATH. | ||
``` | ||
Windows: %USERPROFILE%\.dotnet\x64 | ||
Linux/macOS: $HOME/.dotnet | ||
``` | ||
This must come **before** any other installation of `dotnet`. In Windows, we recommend removing `C:\Program Files\dotnet` from PATH in system variables and adding `%USERPROFILE%\.dotnet\x64` to PATH in user variables. | ||
|
||
<img src="http://i.imgur.com/Tm2PAfy.png" width="400" /> | ||
|
||
## Building on command-line | ||
|
||
You can also build the entire project on command line with the `build.cmd`/`.sh` scripts. | ||
|
||
On Windows: | ||
``` | ||
.\build.cmd | ||
``` | ||
|
||
On macOS/Linux: | ||
``` | ||
./build.sh | ||
``` | ||
|
||
#### Build properties | ||
|
||
Additional properties can be added as an argument in the form `/property:$name=$value`, or `/p:$name=$value` for short. For example: | ||
``` | ||
.\build.cmd /p:Configuration=Release | ||
``` | ||
|
||
Common properties include: | ||
|
||
Property | Description | ||
-------------------------|--------------------------------------------------------- | ||
BuildNumber | (string). A specific build number, typically from a CI counter | ||
Configuration | `Debug` or `Release`. Default = `Debug`. | ||
SkipTests | `true` or `false`. When true, builds without running tests. | ||
NoBuild | `true` or `false`. Runs tests without rebuilding. | ||
|
||
## Use the result of your build | ||
|
||
After building ASP.NET Core from source, you will need to install and use your local version of ASP.NET Core. | ||
|
||
- Run the installers produced in `artifacts/installers/` for your platform. | ||
- Add a NuGet.Config to your project directory with the following content: | ||
|
||
```xml | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<configuration> | ||
<packageSources> | ||
<clear /> | ||
<add key="MyBuildOfAspNetCore" value="C:\src\aspnet\AspNetCore\artifacts\build\" /> | ||
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" /> | ||
</packageSources> | ||
</configuration> | ||
``` | ||
|
||
*NOTE: This NuGet.Config should be with your application unless you want nightly packages to potentially start being restored for other apps on the machine.* | ||
|
||
- Update the versions on `PackageReference` items in your .csproj project file to point to the version from your local build. | ||
```xml | ||
<ItemGroup> | ||
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="3.0.0-alpha1-t000" /> | ||
</ItemGroup> | ||
``` | ||
|
||
|
||
Some features, such as new target frameworks, may require prerelease tooling builds for Visual Studio. | ||
These are available in the [Visual Studio Preview](https://www.visualstudio.com/vs/preview/). |
Oops, something went wrong.