Skip to content

Commit ad8b134

Browse files
authored
Merge branch 'master' into helix/dmp
2 parents 23fc8b0 + 749450a commit ad8b134

File tree

1,209 files changed

+38805
-81924
lines changed

Some content is hidden

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

1,209 files changed

+38805
-81924
lines changed

.azure/pipelines/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ trigger:
1010
- blazor-wasm
1111
- master
1212
- release/*
13+
- internal/release/*
1314

1415
# Run PR validation on all branches
1516
pr:
@@ -603,7 +604,7 @@ stages:
603604
jobName: Helix_x64
604605
jobDisplayName: 'Tests: Helix x64'
605606
agentOs: Windows
606-
timeoutInMinutes: 180
607+
timeoutInMinutes: 240
607608
steps:
608609
# Build the shared framework
609610
- script: ./build.cmd -ci -nobl -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log

.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: 546 additions & 372 deletions
Large diffs are not rendered by default.

Directory.Build.props

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@
1111
<PropertyGroup>
1212
<RepoRelativeProjectDir>$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectDirectory)))</RepoRelativeProjectDir>
1313

14-
<IsReferenceAssemblyProject>false</IsReferenceAssemblyProject>
15-
<IsReferenceAssemblyProject Condition="$(MSBuildProjectDirectory.EndsWith('ref'))">true</IsReferenceAssemblyProject>
16-
<OutDirName Condition="'$(IsReferenceAssemblyProject)' == 'true'">$(MSBuildProjectName)-ref</OutDirName>
17-
1814
<IsBenchmarkProject Condition="$(MSBuildProjectName.EndsWith('.Performance')) OR $(RepoRelativeProjectDir.Contains('perf')) OR $(RepoRelativeProjectDir.Contains('benchmarkapps'))">true</IsBenchmarkProject>
1915
<IsSpecificationTestProject Condition="$(MSBuildProjectName.EndsWith('.Specification.Tests'))">true</IsSpecificationTestProject>
2016
<IsUnitTestProject>false</IsUnitTestProject>
@@ -130,7 +126,7 @@
130126
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
131127
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>
132128

133-
<!-- Produce targeting pack installers/packages once per major.minor. -->
129+
<!-- This is used to produce targeting pack installers/packages once per major.minor. -->
134130
<IsTargetingPackBuilding Condition=" '$(DotNetBuildFromSource)' == 'true' ">false</IsTargetingPackBuilding>
135131
<IsTargetingPackBuilding
136132
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(AspNetCorePatchVersion)' != '0' ">false</IsTargetingPackBuilding>
@@ -153,9 +149,9 @@
153149
AND '$(MSBuildProjectExtension)' == '.csproj'">
154150
<ProjectReference
155151
Include="$(RepoRoot)src\Analyzers\Internal.AspNetCore.Analyzers\src\Internal.AspNetCore.Analyzers.csproj"
156-
PrivateAssets="All"
157-
Version="$(InternalAspNetCoreAnalyzersPackageVersion)"
158-
IsImplicitlyDefined="true" />
152+
ReferenceOutputAssembly="false"
153+
OutputItemType="Analyzer"
154+
PrivateAssets="All" />
159155
</ItemGroup>
160156

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

Directory.Build.targets

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
<Project>
1+
<Project>
22

33
<PropertyGroup>
44
<!-- Only build Microsoft.AspNetCore.App and ref/ assemblies in source build. -->
55
<!-- Analyzer package are needed in source build for WebSDK -->
66
<ExcludeFromSourceBuild
7-
Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(IsReferenceAssemblyProject)' != 'true' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild>
7+
Condition="'$(ExcludeFromSourceBuild)' == '' and '$(DotNetBuildFromSource)' == 'true' and '$(IsAspNetCoreApp)' != 'true' and '$(IsAnalyzersProject)' != 'true'">true</ExcludeFromSourceBuild>
88

99
<!-- If the user has specified that they want to skip building any test related projects with SkipTestBuild,
1010
suppress all targets for TestProjects using ExcludeFromBuild. -->
@@ -57,7 +57,8 @@
5757

5858
<PropertyGroup Condition=" '$(MSBuildProjectExtension)' == '.csproj' ">
5959
<PackageId Condition=" '$(PackageId)' == '' ">$(AssemblyName)</PackageId>
60-
<IsPackable Condition="'$(IsPackable)' == '' AND ( '$(IsTestProject)' == 'true' OR '$(IsTestAssetProject)' == 'true' OR '$(IsBenchmarkProject)' == 'true' OR '$(IsSampleProject)' == 'true' OR '$(IsReferenceAssemblyProject)' == 'true' ) ">false</IsPackable>
60+
<IsPackable
61+
Condition="'$(IsPackable)' == '' AND ( '$(IsTestProject)' == 'true' OR '$(IsTestAssetProject)' == 'true' OR '$(IsBenchmarkProject)' == 'true' OR '$(IsSampleProject)' == 'true' ) ">false</IsPackable>
6162
</PropertyGroup>
6263

6364
<Import Project="eng\Baseline.Designer.props" />
@@ -100,14 +101,19 @@
100101

101102
<PropertyGroup>
102103
<!-- Implementation projects are the projects which produce nuget packages or shipping assemblies. -->
103-
<IsImplementationProject Condition=" '$(IsImplementationProject)' == '' AND '$(IsAnalyzersProject)' != 'true' AND '$(IsTestAssetProject)' != 'true' AND '$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true' AND '$(IsSampleProject)' != 'true' AND '$(IsReferenceAssemblyProject)' != 'true' ">true</IsImplementationProject>
104+
<IsImplementationProject Condition=" '$(IsImplementationProject)' == '' AND '$(IsAnalyzersProject)' != 'true' AND '$(IsTestAssetProject)' != 'true' AND '$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true' AND '$(IsSampleProject)' != 'true' ">true</IsImplementationProject>
104105

105106
<!-- This determines whether a project is available as a <Reference> to other projects in this repo. -->
106107
<IsProjectReferenceProvider Condition=" '$(IsProjectReferenceProvider)' == '' AND '$(IsImplementationProject)' == 'true' AND '$(PackAsTool)' != 'true' ">true</IsProjectReferenceProvider>
107108

108109
<HasReferenceAssembly
109-
Condition=" '$(HasReferenceAssembly)' == '' AND '$(IsProjectReferenceProvider)' == 'true' AND '$(IsAspNetCoreApp)' == 'true' ">true</HasReferenceAssembly>
110+
Condition=" '$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)' AND '$(IsAspNetCoreApp)' == 'true' ">true</HasReferenceAssembly>
110111
<HasReferenceAssembly Condition="'$(HasReferenceAssembly)' == ''">false</HasReferenceAssembly>
112+
<ProduceReferenceAssembly>$(HasReferenceAssembly)</ProduceReferenceAssembly>
113+
114+
<!-- Duplicate setting from Microsoft.Common.CurrentVersion.targets because this is imported after that file. -->
115+
<TargetRefPath
116+
Condition=" '$(TargetRefPath)' == '' and $(ProduceReferenceAssembly) ">$([MSBuild]::NormalizePath($(TargetDir), 'ref', $(TargetFileName)))</TargetRefPath>
111117

112118
<IsPackable Condition="'$(IsPackable)' == '' AND ('$(IsImplementationProject)' == 'true' OR '$(IsAnalyzersProject)' == 'true') ">true</IsPackable>
113119
<IsPackable Condition="'$(IsPackable)' == '' ">false</IsPackable>
@@ -124,13 +130,7 @@
124130
<None Include="$(PackageThirdPartyNoticesFile)" Pack="true" PackagePath="." />
125131
</ItemGroup>
126132

127-
<ItemGroup Condition="'$(Language)' == 'C#' AND '$(IsReferenceAssemblyProject)' == 'true'">
128-
<Compile Include="$(SharedSourceRoot)ReferenceAssemblyInfo.cs" LinkBase="Properties" />
129-
</ItemGroup>
130-
131133
<PropertyGroup Condition="'$(Language)' == 'C#'">
132-
<!-- Reference assemblies should always use Major.Minor.0.0 for assembly versions even during servicing. Only the package version should be updated. -->
133-
<!-- Pinning the implementation assemblies at Major.Minor.0.0 as we figure out compiling against ref assemblies. -->
134134
<AssemblyVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0.0</AssemblyVersion>
135135
</PropertyGroup>
136136

@@ -180,7 +180,6 @@
180180
<Import Project="eng\targets\FSharp.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.fsproj'" />
181181
<Import Project="eng\targets\Wix.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
182182
<Import Project="eng\targets\Npm.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.npmproj'" />
183-
<Import Project="eng\targets\ReferenceAssembly.targets" Condition=" $(HasReferenceAssembly) " />
184183
<Import Project="eng\targets\Helix.targets" Condition="'$(IsTestProject)' == 'true'" />
185184
<Import Project="eng\targets\FunctionalTestAsset.targets" Condition="'$(IsTestAssetProject)' == 'true'" />
186185
<Import Project="eng\targets\FunctionalTestWithAssets.targets" Condition="'$(ContainsFunctionalTestAssets)' == 'true'" />

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" />

dockerbuild.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,14 @@ docker run \
133133
-t \
134134
-e TF_BUILD \
135135
-e BUILD_NUMBER \
136+
-e BUILD_BUILDID \
137+
-e SYSTEM_TEAMPROJECT \
136138
-e BUILD_BUILDNUMBER \
137139
-e BUILD_REPOSITORY_URI \
138140
-e BUILD_SOURCEVERSION \
139141
-e BUILD_SOURCEBRANCH \
142+
-e SYSTEM_DEFINITIONID \
143+
-e SYSTEM_TEAMFOUNDATIONCOLLECTIONURI \
140144
-e DOTNET_CLI_TELEMETRY_OPTOUT \
141145
-e Configuration \
142146
-v "$DIR:$DIR" \

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/CrossRepoBreakingChanges.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)