Skip to content

Commit 84b3013

Browse files
authored
Merge branch 'master' into merge/release/5.0-preview8-to-master
2 parents fcabe6f + 29ceed2 commit 84b3013

File tree

522 files changed

+15301
-3806
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

522 files changed

+15301
-3806
lines changed

.azure/pipelines/signalr-daily-tests.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
# Daily Tests for ASP.NET Core SignalR
55
# These use Sauce Labs resources, hence they run daily rather than per-commit.
66

7+
variables:
8+
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
9+
- group: DotNet-MSRC-Storage
10+
- group: AzureDevOps-Artifact-Feeds-Pats
11+
712
# The only Daily Tests we have run in Sauce Labs and only need to run on one machine (because they just trigger SauceLabs)
813
# Hence we use the 'default-build.yml' template because it represents a single phase
914
jobs:
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
name: 🐞 Razor Tooling Bug report
3+
about: Report an issue about something that is not working in the new Razor tooling
4+
labels: area-razor.tooling, feature-razor.vs
5+
---
6+
7+
<!--
8+
9+
More information on our issue management policies can be found here: https://aka.ms/aspnet/issue-policies
10+
11+
Please keep in mind that the GitHub issue tracker is not intended as a general support forum, but for reporting **non-security** bugs and feature requests.
12+
13+
If you believe you have an issue that affects the SECURITY of the platform, please do NOT create an issue and instead email your issue details to [email protected]. Your report may be eligible for our [bug bounty](https://www.microsoft.com/en-us/msrc/bounty-dot-net-core) but ONLY if it is reported through email.
14+
For other types of questions, consider using [StackOverflow](https://stackoverflow.com).
15+
16+
-->
17+
18+
<!-- NOTE: This issue template is meant specifically to be used for issues with the new experimental Razor tooling experience provided in Visual Studio's Preview Feature pane -->
19+
20+
### Describe the bug
21+
A clear and concise description of what the bug is.
22+
23+
### To Reproduce
24+
<!--
25+
We ❤ code! Point us to a minimalistic repro project hosted in a GitHub repo.
26+
For a repro project, create a new ASP.NET Core project using the template of your your choice, apply the minimum required code to result in the issue you're observing.
27+
28+
We will close this issue if:
29+
- the repro project you share with us is complex. We can't investigate custom projects, so don't point us to such, please.
30+
- if we will not be able to repro the behavior you're reporting
31+
-->
32+
33+
### Logs & Exceptions
34+
35+
Please collect the data below before reporting your issue to aid us in diagnosing the root cause.
36+
37+
#### Activity log
38+
[Here](https://docs.microsoft.com/en-us/visualstudio/extensibility/how-to-use-the-activity-log?view=vs-2019#to-examine-the-activity-log) are the instructions on how to generate/acquire one.
39+
40+
#### Razor Language Server Client log
41+
<!-- In Visual Studio's `Output` window, the drop-down contains a `Razor Language Server Client` item. Include that below. -->
42+
<details>
43+
<summary>Razor Language Server Client Log Output</summary>
44+
45+
Paste log output here
46+
47+
</details>
48+
49+
#### HTML Language Server Client log
50+
<!-- In Visual Studio's `Output` window, the drop-down contains a `HtmlyLanguageClient` item. Include that below. -->
51+
<details>
52+
<summary>HTML Language Server Client Log Output</summary>
53+
54+
Paste log output here
55+
56+
</details>
57+
58+
### Further technical details
59+
- VS version (Help => About Microsoft Visual Studio, i.e. 16.8.0 Preview 1 30313.27...). If in Codespaces there will be two versions (server and client), please provide both.
60+
- Scenario (Local, LiveShare, Codespaces)
61+
62+
### Pre-requisite checklist
63+
- [ ] Steps to reproduce the issue
64+
- [ ] Visual Studio Activity Log attached.
65+
- [ ] Razor Language Server client logs included.
66+
- [ ] HTML Language Server client logs included

AspNetCore.sln

Lines changed: 496 additions & 430 deletions
Large diffs are not rendered by default.

Directory.Build.props

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,7 @@
151151
Include="$(RepoRoot)src\Analyzers\Internal.AspNetCore.Analyzers\src\Internal.AspNetCore.Analyzers.csproj"
152152
ReferenceOutputAssembly="false"
153153
OutputItemType="Analyzer"
154-
PrivateAssets="All"
155-
Version="$(InternalAspNetCoreAnalyzersPackageVersion)"
156-
IsImplicitlyDefined="true" />
154+
PrivateAssets="All" />
157155
</ItemGroup>
158156

159157
<!-- Compilation options which apply to all languages. Language-specific options should be set in eng/targets/$(lang).Common.props -->

NuGet.config

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
<configuration>
33
<packageSources>
44
<clear />
5-
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
6-
<add key="darc-pub-dotnet-blazor-cc44960" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-blazor-cc449601/nuget/v3/index.json" />
7-
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
85
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
96
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
107
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />

docs/BuildFromSource.md

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@ Building ASP.NET Core from source allows you to tweak and customize ASP.NET Core
44

55
See <https://github.com/dotnet/aspnetcore/labels/area-infrastructure> for known issues and to track ongoing work.
66

7+
## Clone the source code
8+
9+
ASP.NET Core uses git submodules to include the source from a few other projects.
10+
11+
For a new copy of the project, run:
12+
13+
```ps1
14+
git clone --recursive https://github.com/dotnet/aspnetcore
15+
```
16+
17+
To update an existing copy, run:
18+
19+
```ps1
20+
git submodule update --init --recursive
21+
```
22+
723
## Install pre-requisites
824

925
### Windows
@@ -22,7 +38,8 @@ Building ASP.NET Core on Windows requires:
2238
However, any Visual Studio 2019 instance that meets the requirements should be fine. See [global.json](/global.json)
2339
and [eng/scripts/vs.json](/eng/scripts/vs.json) for those requirements. By default, the script will install Visual Studio Enterprise Edition, however you can use a different edition by passing the `-Edition` flag.
2440
* Git. <https://git-scm.org>
25-
* NodeJS. LTS version of 10.14.2 or newer <https://nodejs.org>
41+
* NodeJS. LTS version of 10.14.2 or newer <https://nodejs.org>.
42+
* Install yarn globally (`npm install -g yarn`)
2643
* Java Development Kit 11 or newer. Either:
2744
* OpenJDK <https://jdk.java.net/>
2845
* Oracle's JDK <https://www.oracle.com/technetwork/java/javase/downloads/index.html>
@@ -52,22 +69,6 @@ Building ASP.NET Core on macOS or Linux requires:
5269
* OpenJDK <https://jdk.java.net/>
5370
* Oracle's JDK <https://www.oracle.com/technetwork/java/javase/downloads/index.html>
5471
55-
## Clone the source code
56-
57-
ASP.NET Core uses git submodules to include the source from a few other projects.
58-
59-
For a new copy of the project, run:
60-
61-
```ps1
62-
git clone --recursive https://github.com/dotnet/aspnetcore
63-
```
64-
65-
To update an existing copy, run:
66-
67-
```ps1
68-
git submodule update --init --recursive
69-
```
70-
7172
**NOTE** some ISPs have been know to use web filtering software that has caused issues with git repository cloning, if you experience issues cloning this repo please review <https://help.github.com/en/github/authenticating-to-github/using-ssh-over-the-https-port>
7273
7374
## Building in Visual Studio
@@ -86,6 +87,9 @@ Before opening our .sln/.slnf files in Visual Studio or VS Code, you need to per
8687
> :bulb: Pro tip: you will also want to run this command after pulling large sets of changes. On the master
8788
> branch, we regularly update the versions of .NET Core SDK required to build the repo.
8889
> You will need to restart Visual Studio every time we update the .NET Core SDK.
90+
> To allow executing the setup script, you may need to update the execution policy on your machine.
91+
You can do so by running the `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser` command
92+
in PowerShell. For more information on execution policies, you can read the [execution policy docs](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy).
8993

9094
2. Use the `startvs.cmd` script to open Visual Studio .sln/.slnf files. This script first sets the required
9195
environment variables.
@@ -128,6 +132,18 @@ Executing `.\restore.cmd` or `.\build.cmd` may produce these errors:
128132
129133
In most cases, this is because the option _Use previews of the .NET Core SDK_ in VS2019 is not checked. Start Visual Studio, go to _Tools > Options_ and check _Use previews of the .NET Core SDK_ under _Environment > Preview Features_.
130134

135+
### Common error: HTTP Error 500.33 - ANCM Request Handler Load Failure
136+
137+
The [ASP.NET Core Module](https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module) (ANCM) for IIS is not supported when running projects in this repository.
138+
139+
After using `startvs.cmd` to open a solution in Visual Studio, the Kestrel web host option must be used (name of the project) and not IIS Express.
140+
141+
Example of running the `MvcSandbox` project:
142+
143+
`.\startvs.cmd .\src\Mvc\Mvc.sln`
144+
145+
![Web host options in Visual Studio](./vs-iis-express-aspnet-core-mvc-sandbox.jpg)
146+
131147
## Building with Visual Studio Code
132148

133149
Using Visual Studio Code with this repo requires setting environment variables on command line first.

docs/Helix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This will restore, and then publish all the test project including some bootstra
1919
## Overview of the helix usage in our pipelines
2020

2121
- Required queues: Windows10, OSX, Ubuntu1604
22-
- Full queue matrix: Windows[7, 81, 10], Ubuntu[1604, 1804, 2004], Centos7, Debian[8,9], Redhat7, Fedora28, Arm64 (Win10, Debian9)
22+
- Full queue matrix: Windows[7, 81, 10], Ubuntu[1604, 1804, 2004], Centos7, Debian9, Redhat7, Fedora28, Arm64 (Win10, Debian9)
2323
- The queues are defined in [Helix.Common.props](https://github.com/dotnet/aspnetcore/blob/master/eng/targets/Helix.Common.props)
2424

2525
[aspnetcore-ci](https://dev.azure.com/dnceng/public/_build?definitionId=278) runs non quarantined tests against the required helix queues as a required PR check and all builds on all branches.

docs/ReferenceResolution.md

Lines changed: 61 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,64 @@ is changing to `Microsoft.AspNetCore.BetterThanOrange`, you would need to make t
100100
</ItemGroup>
101101
```
102102

103-
## Updating dependencies manually
104-
105-
If the `dotnet-maestro` bot has not correctly updated the dependencies, it may be worthwhile running `darc` manually:
106-
107-
1. Install `darc` as described in <https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md#setting-up-your-darc-client>
108-
2. Run `darc update-dependencies --channel '.NET Core 3.1 Release'`
109-
* Use `'trigger-subscriptions'` to prod the bot to create a PR if you do not want to make local changes
110-
* Use `'.NET 3 Eng''` to update dependencies from dotnet/arcade
111-
* Use `'.NET Eng - Latest'` to update dependencies from dotnet/arcade in the `master` branch
112-
* Use `'VS Master'` to update dependencies from dotnet/roslyn in the `master` branch
113-
* Use `'.NET 5 Dev'` to update dependencies from dotnet/efcore or dotnet/runtime in the `master` branch
114-
3. `git diff` to confirm the tool's changes
115-
4. Proceed with usual commit and PR
103+
## A darc cheatsheet
104+
105+
`darc` is a command-line tool that is used for dependency management in the dotnet ecosystem of repos. `darc` can be installed using the `darc-init` scripts located inside the `eng/common` directory. Once `darc` is installed, you'll need to set up the appropriate access tokens as outlined [in the official Darc docs](https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md#setting-up-your-darc-client).
106+
107+
Once `darc` is installed and set-up, it can be used to modify the subscriptions and dependencies in a project.
108+
109+
**Getting the list of subscriptions in a repo**
110+
111+
Subscriptions are objects that define the ecosystem repos we are listening for updates to, the frequency we are looking for updates, and more.
112+
113+
```bash
114+
darc get-subscriptions --target-branch master --target-repo aspnetcore$ --regex
115+
```
116+
117+
**Disable/enable a subscription**
118+
119+
```bash
120+
darc subscription-status --id {subscriptionIdHere} --enable
121+
darc subscription-status --id {subscriptionIdHere} --disable
122+
```
123+
124+
**Trigger a subscription**
125+
126+
Triggering a subscription will search for updates in its dependencies and open a PR in the target repo via the dotnet-maestro bot with these changes.
127+
128+
```bash
129+
darc trigger-subscriptions --id {subscriptionIdHere}
130+
```
131+
132+
**Manually update dependencies**
133+
134+
If the `dotnet-maestro` bot has not correctly updated the dependencies, `darc update-dependencies` may be used to update the dependencies manually. Note, you'll need to run the commands below in a separate branch and submit a PR with the changes. These are the things that the bot should do for you if you use `trigger-subscriptions` or automatically (when the subscription fires e.g. about 15 minutes after a dependency's build completes if `Update Frequency: EveryBuild`).
135+
136+
```bash
137+
darc update-dependencies --channel '.NET Core 3.1 Release'
138+
darc update-dependencies --channel '.NET 5 Dev' --source-repo efcore
139+
```
140+
141+
Generally, using `trigger-subscriptions` is preferred for creating dependency updates instead of manually updating dependencies in your own PR.
142+
143+
**Toggling batchability of subscription**
144+
145+
Subscriptions can be batched. When a dependency update is detected, `darc` will bundle the commits for that update with existing dependency PRs. To toggle whether a subscription is batched or not, you will need to use the `update-subscription` command.
146+
147+
```bash
148+
darc update-subscription --id {subscriptionIdHere}
149+
```
150+
151+
Your shell's default editor will open and allow you to edit the metadata of the subscription.
152+
153+
To disable batching, set `Batchable` to `False` and update the `Merge Policies` section with the following YAML.
154+
155+
```
156+
- Name: Standard
157+
Properties: {}
158+
```
159+
160+
To enable batching, set `Batchable` to `True` and remove any `Merge Policies` set on the subscription.
161+
162+
Note: Merge policies can only be set on unbatched subscriptions. Be sure to set/unset the `Merge Policies` field properly as you toggle batchability.
163+
31.1 KB
Loading

eng/Build.props

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@
4444
<!-- Project selection can be overridden on the command line by passing in -projects. -->
4545
<When Condition="'$(ProjectToBuild)' != ''">
4646
<ItemGroup>
47-
<!-- Include RTMVersions.csproj unless this invocation is building RepoTasks.csproj or won't compile C#. -->
48-
<ProjectToBuild Include="$(RepoRoot)eng\RTMVersions\RTMVersions.csproj"
49-
Exclude="@(ProjectToExclude)"
50-
Condition=" $(ProjectToBuild.EndsWith('.csproj')) AND !$(ProjectToBuild.EndsWith('RepoTasks.csproj')) " />
5147
<ProjectToBuild Include="$(ProjectToBuild)" Exclude="@(ProjectToExclude);$(RepoRoot)**\bin\**\*;$(RepoRoot)**\obj\**\*">
5248
<RestoreInParallel Condition="'%(Extension)' == '.npmproj'">false</RestoreInParallel>
5349
</ProjectToBuild>
@@ -125,11 +121,8 @@
125121
<!--
126122
Use caution to avoid deep recursion. If the globbing pattern picks up something which exceeds MAX_PATH,
127123
the entire pattern will silently fail to evaluate correctly.
128-
129-
Include RTMVersions.csproj when building any managed projects.
130124
-->
131125
<DotNetProjects Include="
132-
$(RepoRoot)eng\RTMVersions\RTMVersions.csproj;
133126
$(RepoRoot)src\Framework\App.Ref\src\Microsoft.AspNetCore.App.Ref.csproj;
134127
$(RepoRoot)src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.csproj;
135128
$(RepoRoot)src\Framework\App.Ref.Internal\src\Microsoft.AspNetCore.App.Ref.Internal.csproj;
@@ -178,7 +171,6 @@
178171
$(RepoRoot)**\obj\**\*;"
179172
Condition=" '$(BuildMainlyReferenceProviders)' != 'true' " />
180173
<DotNetProjects Include="
181-
$(RepoRoot)eng\RTMVersions\RTMVersions.csproj;
182174
$(RepoRoot)src\DefaultBuilder\**\src\*.csproj;
183175
$(RepoRoot)src\Features\JsonPatch\**\src\*.csproj;
184176
$(RepoRoot)src\DataProtection\**\src\*.csproj;

0 commit comments

Comments
 (0)