-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Update ProjectTemplates README.md #27969
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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,23 +1,45 @@ | ||
# Templates | ||
|
||
## Getting Started | ||
These are project templates which are used in .NET Core for creating ASP.NET Core applications. | ||
|
||
## Prerequisites | ||
## Description | ||
|
||
The following contains a description of each sub-directory in the `ProjectTemplates` directory. | ||
|
||
- `BlazorTemplates.Tests`: Contains the source files for the Blazor template tests, these are currently split out due to not being Helix ready yet. | ||
- `Shared`: Contains a collection of shared constants and helper methods/classes including the infrastructure for managing dotnet processes to create, build, run template tests. | ||
- `Web.Client.ItemTemplates`: Contains the Web Client-Side File templates, includes things like less, scss, and typescript | ||
- `Web.ItemTemplates`: Contains the Web File templates, includes things like: protobuf, razor component, razor page, view import and start pages | ||
- `Web.ProjectTemplates`: Contains the ASP.NET Core Web Template pack, including Blazor Server, WASM, Empty, Grpc, Razor Class Library, RazorPages, MVC, WebApi. | ||
- `Web.Spa.ProjectTemplates`: Contains the Single Page Application templates for ASP.NET Core, including Anuglar, React, ReactRedux. | ||
- `migrations`: Contains migration related scripts. | ||
- `scripts`: Contains a collection of scripts that help running tests locally that avoid having to install the templates to the machine. | ||
- `test`: Contains the end to end template tests. | ||
- `testassets`: Contains assets used by the tests, like a dotnet tools installer | ||
|
||
### Build | ||
|
||
Some projects in this repository (like SignalR Java Client) require JDK installation and configuration of `JAVA_HOME` environment variable. | ||
1. If you don't have the JDK installed, you can find it from https://www.oracle.com/technetwork/java/javase/downloads/index.html | ||
1. After installation define a new environment variable named `JAVA_HOME` pointing to the root of the latest JDK installation (for Windows it will be something like `c:\Program Files\Java\jdk-12`). | ||
1. Add the `%JAVA_HOME%\bin` directory to the `PATH` environment variable | ||
|
||
## Building Templates | ||
1. Run `. .\activate.ps1` if you haven't already. | ||
To build the ProjectTemplates: | ||
|
||
1. Run `git submodule update --init --recursive` if you haven't already. | ||
1. Run `git submodule update` to update submodules. | ||
1. Run `build.cmd -all -pack -configuration Release` in the repository root to build all of the dependencies. | ||
1. Run `build.cmd -pack -NoRestore -NoBuilddeps -configuration Release` in this directory will produce NuGet packages for each class of template in the artifacts directory. | ||
1. Run `build.cmd -pack -NoRestore -NoBuilddeps -configuration Release` in src/ProjectTemplates directory to produce NuGet packages for each class of template in the artifacts directory. | ||
|
||
### Test | ||
|
||
To run the ProjectTemplate tests: | ||
|
||
1. Because the templates build against the version of `Microsoft.AspNetCore.App` that was built during the previous step, it is NOT advised that you install templates created on your local machine via `dotnet new -i [nupkgPath]`. Instead, use the `Run-[Template]-Locally.ps1` scripts in the script folder. These scripts do `dotnet new -i` with your packages, but also apply a series of fixes and tweaks to the created template which keep the fact that you don't have a production `Microsoft.AspNetCore.App` from interfering. | ||
1. The ASP.NET localhost development certificate must also be installed and trusted or else you'll get a test error "Certificate error: Navigation blocked". | ||
1. Run `.\build.cmd -test -NoRestore -NoBuild -NoBuilddeps -configuration Release "/p:RunTemplateTests=true"` to run template tests. | ||
|
||
** Note** Templating tests require Visual Studio unless a full build (CI) is performed. | ||
** Note** ProjectTemplates tests require Visual Studio unless a full build (CI) is performed. | ||
|
||
## More Information | ||
|
||
For more information, see the [ASP.NET Core README](../../README.md). | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.