diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index f5aea4cc0b5f..e7e424ae8cad 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -32,15 +32,27 @@ variables:
- name: _DotNetValidationArtifactsCategory
value: .NETCORE
- ${{ if ne(variables['System.TeamProject'], 'internal') }}:
+ - name: _UseHelixOpenQueues
+ value: 'true'
- name: _BuildArgs
value: ''
- name: _PublishArgs
value: ''
- name: _SignType
value: ''
- - name: _UseHelixOpenQueues
- value: 'true'
+ - name: _InternalRuntimeDownloadArgs
+ value: ''
+ - name: _InternalRuntimeDownloadCodeSignArgs
+ value: ''
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ - group: DotNet-MSRC-Storage
+ - name: _InternalRuntimeDownloadArgs
+ value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)'
+ # The code signing doesn't use the aspnet build scripts, so the msbuild parameers have
+ # to be passed directly. This is awkward, since we pass the same info above, but we have
+ # to have it in two different forms
+ - name: _InternalRuntimeDownloadCodeSignArgs
+ value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet /p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
- group: DotNet-HelixApi-Access
- name: _UseHelixOpenQueues
value: 'false'
@@ -68,7 +80,7 @@ variables:
- name: _BuildArgs
value: ''
- name: _SignType
- valule: test
+ value: test
- name: _PublishArgs
value: ''
# used for post-build phases, internal builds only
@@ -86,7 +98,15 @@ stages:
jobDisplayName: Code check
agentOs: Windows
steps:
- - powershell: ./eng/scripts/CodeCheck.ps1 -ci
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: PowerShell@2
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
+ arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
+ - powershell: ./eng/scripts/CodeCheck.ps1 -ci $(_InternalRuntimeDownloadArgs)
displayName: Run eng/scripts/CodeCheck.ps1
artifacts:
- name: Code_Check_Logs
@@ -113,6 +133,14 @@ stages:
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
# if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing.
# The sign settings have been configured to
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: PowerShell@2
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
+ arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: ./build.cmd
-ci
@@ -122,6 +150,7 @@ stages:
-buildNative
/bl:artifacts/log/build.x64.binlog
$(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
displayName: Build x64
# Build the x86 shared framework
@@ -137,6 +166,7 @@ stages:
/p:OnlyPackPlatformSpecificPackages=true
/bl:artifacts/log/build.x86.binlog
$(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
displayName: Build x86
# This is in a separate build step with -forceCoreMsbuild to workaround MAX_PATH limitations - https://github.com/Microsoft/msbuild/issues/53
@@ -145,6 +175,7 @@ stages:
-pack
-noBuildDeps
$(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
condition: ne(variables['Build.Reason'], 'PullRequest')
displayName: Build SiteExtension
@@ -171,6 +202,7 @@ stages:
/p:AssetManifestFileName=aspnetcore-win-x64-x86.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
/p:PublishInstallerBaseVersion=true
displayName: Build Installers
@@ -211,6 +243,7 @@ stages:
/p:AssetManifestFileName=aspnetcore-win-arm.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
installNodeJs: false
installJdk: false
artifacts:
@@ -237,6 +270,7 @@ stages:
-p:AssetManifestFileName=aspnetcore-MacOS_x64.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
installNodeJs: false
installJdk: false
artifacts:
@@ -257,6 +291,14 @@ stages:
jobDisplayName: "Build: Linux x64"
agentOs: Linux
steps:
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: Bash@3
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
+ arguments: $(Build.SourcesDirectory)/NuGet.config $Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: ./build.sh
--ci
--arch x64
@@ -267,6 +309,7 @@ stages:
-p:OnlyPackPlatformSpecificPackages=true
-bl:artifacts/log/build.linux-x64.binlog
$(_BuildArgs)
+ $(_InternalRuntimeDownloadArgs)
displayName: Run build.sh
- script: |
git clean -xfd src/**/obj/
@@ -280,7 +323,8 @@ stages:
-p:BuildRuntimeArchive=false \
-p:LinuxInstallerType=deb \
-bl:artifacts/log/build.deb.binlog \
- $(_BuildArgs)
+ $(_BuildArgs) \
+ $(_InternalRuntimeDownloadArgs)
displayName: Build Debian installers
- script: |
git clean -xfd src/**/obj/
@@ -296,7 +340,8 @@ stages:
-bl:artifacts/log/build.rpm.binlog \
-p:AssetManifestFileName=aspnetcore-Linux_x64.xml \
$(_BuildArgs) \
- $(_PublishArgs)
+ $(_PublishArgs) \
+ $(_InternalRuntimeDownloadArgs)
displayName: Build RPM installers
installNodeJs: false
installJdk: false
@@ -328,6 +373,7 @@ stages:
-p:AssetManifestFileName=aspnetcore-Linux_arm.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
installNodeJs: false
installJdk: false
artifacts:
@@ -358,6 +404,7 @@ stages:
-p:AssetManifestFileName=aspnetcore-Linux_arm64.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
installNodeJs: false
installJdk: false
artifacts:
@@ -391,6 +438,7 @@ stages:
-p:AssetManifestFileName=aspnetcore-Linux_musl_x64.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
installNodeJs: false
installJdk: false
artifacts:
@@ -424,6 +472,7 @@ stages:
-p:AssetManifestFileName=aspnetcore-Linux_musl_arm64.xml
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadArgs)
installNodeJs: false
installJdk: false
artifacts:
@@ -445,7 +494,7 @@ stages:
jobDisplayName: "Test: Windows Server 2016 x64"
agentOs: Windows
isTestingJob: true
- buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false"
+ buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
beforeBuild:
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
displayName: Setup IISExpress test certificates and schema
@@ -481,7 +530,15 @@ stages:
agentOs: Windows
isTestingJob: true
steps:
- - script: ./build.cmd -ci -all -pack
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: PowerShell@2
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
+ arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
+ - script: ./build.cmd -ci -all -pack $(_InternalRuntimeDownloadArgs)
displayName: Build Repo
- script: ./src/ProjectTemplates/build.cmd -ci -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true /bl:artifacts/log/template.pack.binlog"
displayName: Pack Templates
@@ -508,7 +565,7 @@ stages:
jobDisplayName: "Test: macOS 10.13"
agentOs: macOS
isTestingJob: true
- buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
+ buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
beforeBuild:
- bash: "./eng/scripts/install-nginx-mac.sh"
displayName: Installing Nginx
@@ -543,7 +600,7 @@ stages:
jobDisplayName: "Test: Ubuntu 16.04 x64"
agentOs: Linux
isTestingJob: true
- buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true"
+ buildArgs: --all --test "/p:RunTemplateTests=false /p:SkipHelixReadyTests=true" $(_InternalRuntimeDownloadArgs)
beforeBuild:
- bash: "./eng/scripts/install-nginx-linux.sh"
displayName: Installing Nginx
@@ -656,6 +713,14 @@ stages:
chmod +x $HOME/bin/jq
echo "##vso[task.prependpath]$HOME/bin"
displayName: Install jq
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: Bash@3
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
+ arguments: $(Build.SourcesDirectory)/NuGet.config $Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: ./eng/scripts/ci-source-build.sh --ci --configuration Release /p:BuildManaged=true /p:BuildNodeJs=false
displayName: Run ci-source-build.sh
- task: PublishBuildArtifacts@1
diff --git a/.azure/pipelines/jobs/codesign-xplat.yml b/.azure/pipelines/jobs/codesign-xplat.yml
index abf15125404a..07e2e99f0e89 100644
--- a/.azure/pipelines/jobs/codesign-xplat.yml
+++ b/.azure/pipelines/jobs/codesign-xplat.yml
@@ -28,6 +28,14 @@ jobs:
contents: '**/*.nupkg'
targetFolder: $(Build.SourcesDirectory)/artifacts/packages/$(BuildConfiguration)/shipping/
flattenFolders: true
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: PowerShell@2
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
+ arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- powershell: .\eng\common\build.ps1
-ci
-restore
@@ -39,6 +47,7 @@ jobs:
/p:DotNetSignType=$(_SignType)
$(_BuildArgs)
$(_PublishArgs)
+ $(_InternalRuntimeDownloadCodeSignArgs)
displayName: Sign and publish packages
artifacts:
- name: CodeSign_Xplat_${{ parameters.inputName }}_Logs
diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index dad5a3b6f1ca..ef4ec9e60c39 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -161,6 +161,24 @@ jobs:
- ${{ if ne(parameters.steps, '')}}:
- ${{ parameters.steps }}
- ${{ if eq(parameters.steps, '')}}:
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - ${{ if eq(parameters.agentOs, 'Windows') }}:
+ - ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - task: PowerShell@2
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
+ arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
+ - ${{ if ne(parameters.agentOs, 'Windows') }}:
+ - task: Bash@3
+ displayName: Setup Private Feeds Credentials
+ inputs:
+ filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
+ arguments: $(Build.SourcesDirectory)/NuGet.config $Token
+ env:
+ Token: $(dn-bot-dnceng-artifact-feeds-rw)
- ${{ if eq(parameters.buildScript, '') }}:
- ${{ if eq(parameters.agentOs, 'Windows') }}:
- script: .\$(BuildDirectory)\build.cmd -ci /p:DotNetSignType=$(_SignType) -Configuration $(BuildConfiguration) $(BuildScriptArgs)
diff --git a/Directory.Build.props b/Directory.Build.props
index a4b4790b4057..78ad5cd2af1c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -91,8 +91,11 @@
aspnetcore-runtime
aspnetcore-targeting-pack
-
- false
+
+ false
+ false
+ true
- false
-
-
- false
-
-
+
- true
+ true
@@ -28,7 +21,7 @@
$(VersionPrefix)
$(PackageBrandingVersion) $(BrandingVersionSuffix.Trim())
- $(VersionPrefix)
+ $(VersionPrefix)
$(VersionPrefix)-$(VersionSuffix.Replace('.','-'))
$(Version)
@@ -58,18 +51,24 @@
-
- $(PackagesInPatch.Contains(' $(PackageId);'))
-
-
+ true
true
-
+
false
+
+
+
+ false
+
+
+
+ $(PackageVersion)
+
+
$(BaselinePackageVersion.Substring(0, $(BaselinePackageVersion.IndexOf('-')))).0
@@ -83,6 +82,9 @@
-->
$(BaselinePackageVersion)
$(BaselinePackageVersion)
+
+
+ $(BaselinePackageVersion)
@@ -92,7 +94,8 @@
true
- true
+ true
false
true
@@ -162,7 +165,7 @@
-
+
diff --git a/build.ps1 b/build.ps1
index 042916322b93..7ce1d87f5864 100644
--- a/build.ps1
+++ b/build.ps1
@@ -77,6 +77,12 @@ MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]
.PARAMETER MSBuildArguments
Additional MSBuild arguments to be passed through.
+.PARAMETER DotNetRuntimeSourceFeed
+Additional feed that can be used when downloading .NET runtimes
+
+.PARAMETER DotNetRuntimeSourceFeedKey
+Key for feed that can be used when downloading .NET runtimes
+
.EXAMPLE
Building both native and managed projects.
@@ -151,6 +157,11 @@ param(
# Other lifecycle targets
[switch]$Help, # Show help
+
+ # Optional arguments that enable downloading an internal
+ # runtime or runtime from a non-default location
+ [string]$DotNetRuntimeSourceFeed,
+ [string]$DotNetRuntimeSourceFeedKey,
# Capture the rest
[Parameter(ValueFromRemainingArguments = $true)]
@@ -251,6 +262,16 @@ if (-not $Configuration) {
}
$MSBuildArguments += "/p:Configuration=$Configuration"
+[string[]]$ToolsetBuildArguments = @()
+if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) {
+ $runtimeFeedArg = "/p:DotNetRuntimeSourceFeed=$DotNetRuntimeSourceFeed"
+ $runtimeFeedKeyArg = "/p:DotNetRuntimeSourceFeedKey=$DotNetRuntimeSourceFeedKey"
+ $MSBuildArguments += $runtimeFeedArg
+ $MSBuildArguments += $runtimeFeedKeyArg
+ $ToolsetBuildArguments += $runtimeFeedArg
+ $ToolsetBuildArguments += $runtimeFeedKeyArg
+}
+
$foundJdk = $false
$javac = Get-Command javac -ErrorAction Ignore -CommandType Application
$localJdkPath = "$PSScriptRoot\.tools\jdk\win-x64\"
@@ -375,7 +396,8 @@ try {
/p:Configuration=Release `
/p:Restore=$RunRestore `
/p:Build=true `
- /clp:NoSummary
+ /clp:NoSummary `
+ @ToolsetBuildArguments
}
MSBuild $toolsetBuildProj `
diff --git a/build.sh b/build.sh
index 309b97cc0944..92ef856d4759 100755
--- a/build.sh
+++ b/build.sh
@@ -29,6 +29,8 @@ build_installers=''
build_projects=''
target_arch='x64'
configuration=''
+dotnet_runtime_source_feed=''
+dotnet_runtime_source_feed_key=''
if [ "$(uname)" = "Darwin" ]; then
target_os_name='osx'
@@ -45,33 +47,36 @@ __usage() {
echo "Usage: $(basename "${BASH_SOURCE[0]}") [options] [[--] ...]
Arguments:
- ... Arguments passed to the command. Variable number of arguments allowed.
+ ... Arguments passed to the command. Variable number of arguments allowed.
Options:
- --configuration|-c The build configuration (Debug, Release). Default=Debug
- --arch The CPU architecture to build for (x64, arm, arm64). Default=$target_arch
- --os-name The base runtime identifier to build for (linux, osx, linux-musl). Default=$target_os_name
-
- --[no-]restore Run restore.
- --[no-]build Compile projects. (Implies --no-restore)
- --[no-]pack Produce packages.
- --[no-]test Run tests.
-
- --projects A list of projects to build. (Must be an absolute path.)
- Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\".
- --no-build-deps Do not build project-to-project references and only build the specified project.
- --no-build-repo-tasks Suppress building RepoTasks.
-
- --all Build all project types.
- --[no-]build-native Build native projects (C, C++).
- --[no-]build-managed Build managed projects (C#, F#, VB).
- --[no-]build-nodejs Build NodeJS projects (TypeScript, JS).
- --[no-]build-java Build Java projects.
- --[no-]build-installers Build Java projects.
-
- --ci Apply CI specific settings and environment variables.
- --binarylog|-bl Use a binary logger
- --verbosity|-v MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]
+ --configuration|-c The build configuration (Debug, Release). Default=Debug
+ --arch The CPU architecture to build for (x64, arm, arm64). Default=$target_arch
+ --os-name The base runtime identifier to build for (linux, osx, linux-musl). Default=$target_os_name
+
+ --[no-]restore Run restore.
+ --[no-]build Compile projects. (Implies --no-restore)
+ --[no-]pack Produce packages.
+ --[no-]test Run tests.
+
+ --projects A list of projects to build. (Must be an absolute path.)
+ Globbing patterns are supported, such as \"$(pwd)/**/*.csproj\".
+ --no-build-deps Do not build project-to-project references and only build the specified project.
+ --no-build-repo-tasks Suppress building RepoTasks.
+
+ --all Build all project types.
+ --[no-]build-native Build native projects (C, C++).
+ --[no-]build-managed Build managed projects (C#, F#, VB).
+ --[no-]build-nodejs Build NodeJS projects (TypeScript, JS).
+ --[no-]build-java Build Java projects.
+ --[no-]build-installers Build Java projects.
+
+ --ci Apply CI specific settings and environment variables.
+ --binarylog|-bl Use a binary logger
+ --verbosity|-v MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]
+
+ --dotnet-runtime-source-feed Additional feed that can be used when downloading .NET runtimes
+ --dotnet-runtime-source-feed-key Key for feed that can be used when downloading .NET runtimes
Description:
This build script installs required tools and runs an MSBuild command on this repository
@@ -188,16 +193,26 @@ while [[ $# -gt 0 ]]; do
-no-build-repo-tasks|-nobuildrepotasks)
build_repo_tasks=false
;;
+ -arch)
+ shift
+ target_arch="${1:-}"
+ [ -z "$target_arch" ] && __error "Missing value for parameter --arch" && __usage
+ ;;
-ci)
ci=true
;;
-binarylog|-bl)
use_default_binary_log=true
;;
- -verbosity|-v)
+ -dotnet-runtime-source-feed|-dotnetruntimesourcefeed)
shift
- [ -z "${1:-}" ] && __error "Missing value for parameter --verbosity" && __usage
- verbosity="${1:-}"
+ [ -z "${1:-}" ] && __error "Missing value for parameter --dotnet-runtime-source-feed" && __usage
+ dotnet_runtime_source_feed="${1:-}"
+ ;;
+ -dotnet-runtime-source-feed-key|-dotnetruntimesourcefeedkey)
+ shift
+ [ -z "${1:-}" ] && __error "Missing value for parameter --dotnet-runtime-source-feed-key" && __usage
+ dotnet_runtime_source_feed_key="${1:-}"
;;
*)
msbuild_args[${#msbuild_args[*]}]="$1"
@@ -270,6 +285,17 @@ msbuild_args[${#msbuild_args[*]}]="-p:Configuration=$configuration"
echo "Setting msbuild verbosity to $verbosity"
msbuild_args[${#msbuild_args[*]}]="-verbosity:$verbosity"
+# Set up additional runtime args
+toolset_build_args=()
+if [ ! -z "$dotnet_runtime_source_feed" ] || [ ! -z "$dotnet_runtime_source_feed_key" ]; then
+ runtimeFeedArg="/p:DotNetRuntimeSourceFeed=$dotnet_runtime_source_feed"
+ runtimeFeedKeyArg="/p:DotNetRuntimeSourceFeedKey=$dotnet_runtime_source_feed_key"
+ msbuild_args[${#msbuild_args[*]}]=$runtimeFeedArg
+ msbuild_args[${#msbuild_args[*]}]=$runtimeFeedKeyArg
+ toolset_build_args[${#toolset_build_args[*]}]=$runtimeFeedArg
+ toolset_build_args[${#toolset_build_args[*]}]=$runtimeFeedKeyArg
+fi
+
# Initialize global variables need to be set before the import of Arcade is imported
restore=$run_restore
@@ -325,7 +351,8 @@ if [ "$build_repo_tasks" = true ]; then
-p:Configuration=Release \
-p:Restore=$run_restore \
-p:Build=true \
- -clp:NoSummary
+ -clp:NoSummary \
+ ${toolset_build_args[@]+"${toolset_build_args[@]}"}
fi
# This incantation avoids unbound variable issues if msbuild_args is empty
diff --git a/docs/PreparingPatchUpdates.md b/docs/PreparingPatchUpdates.md
index ee153b4d031c..5b069cb4b04d 100644
--- a/docs/PreparingPatchUpdates.md
+++ b/docs/PreparingPatchUpdates.md
@@ -12,5 +12,3 @@ In order to prepare this repo to build a new servicing update, the following cha
* Update the package baselines. This is used to ensure packages keep a consistent set of dependencies between releases.
See [eng/tools/BaselineGenerator/](/eng/tools/BaselineGenerator/README.md) for instructions on how to run this tool.
-
-* Update the list of packages in [eng/PatchConfig.props](/eng/PatchConfig.props) to list which packages should be patching in this release.
diff --git a/docs/ProjectProperties.md b/docs/ProjectProperties.md
index 1a5a1c4eb427..24e186c28854 100644
--- a/docs/ProjectProperties.md
+++ b/docs/ProjectProperties.md
@@ -5,6 +5,8 @@ In addition to the standard set of MSBuild properties supported by Microsoft.NET
Property name | Meaning
-------------------|--------------------------------------------------------------------------------------------
-IsShippingPackage | When set to `true`, the package produced by from project is intended for use by customers. Defaults to `false`, which means the package is intended for internal use only by Microsoft teams.
-IsAspNetCoreApp | Set to `true` when the assembly is part of the [Microsoft.AspNetCore.App shared framework](./SharedFramework.md) and is not available as a NuGet package (unless IsShippingPackage is also set to `true`).
-TestDependsOnMssql | Set to `true` when your tests depends on SQL Server. This will ensure distribute tests on Helix install LocalDB ([more information on Helix](./Helix.md)).
+IsPackable | Set to `true` when the project should produce a package. That package may or may not ship to customers (depending on `IsShippingPackage`). Defaults to `true` for analyzer and implementation projects; `false` otherwise.
+IsShipping | Set to `true` when the project output is intended for use by customers. Defaults to `true` for analyzer, implementation and specification test projects; `false` otherwise.
+IsShippingPackage | Set to `true` when a package produced from project is intended for use by customers. Defaults to `IsShipping`. Note this may be `true` even for projects with `IsPackable` set to `false`.
+IsAspNetCoreApp | Set to `true` when the assembly is part of the [Microsoft.AspNetCore.App shared framework](./SharedFramework.md) and is not available as a NuGet package (unless `IsPackable` is also set to `true` -- the default). Defaults to `false`.
+TestDependsOnMssql | Set to `true` when your tests depends on SQL Server. This will ensure distribute tests on Helix install LocalDB ([more information on Helix](./Helix.md)). Defaults to `false`.
diff --git a/docs/ReferenceResolution.md b/docs/ReferenceResolution.md
index 0c5d231bef27..d84215a6d365 100644
--- a/docs/ReferenceResolution.md
+++ b/docs/ReferenceResolution.md
@@ -31,7 +31,6 @@ The requirements that led to this system are:
* [eng/Baseline.xml](/eng/Baseline.xml) - this contains the 'baseline' of the latest servicing release for this branch. It should be modified and used to update the generated file, Baseline.Designer.props.
* [eng/Dependencies.props](/eng/Dependencies.props) - contains a list of all package references that might be used in the repo.
-* [eng/PatchConfig.props](/eng/PatchConfig.props) - lists which assemblies or packages are patching in the current build.
* [eng/ProjectReferences.props](/eng/ProjectReferences.props) - lists which assemblies or packages might be available to be referenced as a local project.
* [eng/Versions.props](/eng/Versions.props) - contains a list of versions which may be updated by automation. This is used by MSBuild to restore and build.
* [eng/Version.Details.xml](/eng/Version.Details.xml) - used by automation to update dependencies variables in other files.
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index b5c81965354d..beae2b6a595e 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -2,106 +2,106 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 3.1.0
+ 3.1.2
- 3.0.0
+ 3.0.2
- 3.0.0
+ 3.0.2
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
-
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
@@ -109,39 +109,39 @@
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
+
@@ -186,273 +186,273 @@
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
-
+
+
-
-
+
+
- 3.1.0
+ 3.1.1
-
+
-
+
- 3.1.0
+ 3.1.1
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
-
+
-
+
-
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
+
-
+
- 3.1.0
+ 3.1.1
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
-
-
+
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
-
+
-
+
- 3.1.0
+ 3.1.1
-
+
-
+
- 3.1.0
+ 3.1.1
-
-
+
+
-
-
+
+
- 3.1.0
+ 3.1.1
-
-
-
-
+
+
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
@@ -460,236 +460,238 @@
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
+
-
-
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
-
-
+
+
- 3.1.0
+ 3.1.1
-
+
-
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
-
-
-
+
+
+
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
+
- 3.1.0
+ 3.1.1
-
-
+
+
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
-
-
-
+
+
+
-
-
-
+
+
+
- 3.1.0
+ 3.1.1
-
-
+
+
+
-
-
+
+
+
\ No newline at end of file
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index 9a5276d72971..0954489adee2 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -4,86 +4,86 @@ This file contains a list of all the packages and their versions which were rele
Update this list when preparing for a new patch.
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Build.props b/eng/Build.props
index 876c87b6f4f8..58deebde93f9 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -141,6 +141,7 @@
$(RepoRoot)src\Servers\**\*.csproj;
$(RepoRoot)src\Security\**\*.*proj;
$(RepoRoot)src\SiteExtensions\Microsoft.Web.Xdt.Extensions\**\*.csproj;
+ $(RepoRoot)src\SiteExtensions\LoggingAggregate\test\**\*.csproj;
$(RepoRoot)src\Shared\**\*.*proj;
$(RepoRoot)src\Tools\**\*.*proj;
$(RepoRoot)src\Middleware\**\*.csproj;
@@ -159,7 +160,35 @@
@(ProjectToExclude);
$(RepoRoot)**\node_modules\**\*;
$(RepoRoot)**\bin\**\*;
- $(RepoRoot)**\obj\**\*;" />
+ $(RepoRoot)**\obj\**\*;"
+ Condition=" '$(BuildMainlyReferenceProviders)' != 'true' " />
+
diff --git a/eng/CodeGen.proj b/eng/CodeGen.proj
index e2b6785f30d0..72c13a69ba5c 100644
--- a/eng/CodeGen.proj
+++ b/eng/CodeGen.proj
@@ -3,6 +3,7 @@
true
$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', '..'))
+ true
@@ -15,13 +16,12 @@
BuildInParallel="true"
SkipNonexistentTargets="true"
SkipNonexistentProjects="true" >
-
- <_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsShippingPackage', 'true')->Distinct())" />
- <_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsShippingPackage', 'false')->Distinct())" />
+ <_SharedFrameworkAndPackageRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'true')->Distinct())" />
+ <_SharedFrameworkRef Include="@(_ProjectReferenceProvider->WithMetadataValue('IsAspNetCoreApp','true')->WithMetadataValue('IsPackable', 'false')->Distinct())" />
<_ProjectReferenceProviderWithRefAssembly Include="@(_ProjectReferenceProvider->HasMetadata('ReferenceAssemblyProjectFileRelativePath'))" />
<_ProjectReferenceProvider Remove="@(_ProjectReferenceProviderWithRefAssembly)" />
@@ -58,7 +58,7 @@
This file contains a complete list of the assemblies which are part of the shared framework.
- This project is generated using the and properties from each .csproj in this repository.
+ This project is generated using the and properties from each .csproj in this repository.
-->
@@ -85,4 +85,4 @@
SkipNonexistentProjects="true" />
-
\ No newline at end of file
+
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 2bedb5af612d..6a577b9fdefb 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -82,12 +82,14 @@ and are generated based on the last package release.
+
+
@@ -99,6 +101,7 @@ and are generated based on the last package release.
+
diff --git a/eng/PatchConfig.props b/eng/PatchConfig.props
deleted file mode 100644
index 60adba37fa3f..000000000000
--- a/eng/PatchConfig.props
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
-
-
-
-
- Microsoft.Net.Http.Headers;
- Microsoft.AspNetCore.CookiePolicy;
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore;
- @microsoft/signalr;
- Microsoft.Net.Http.Headers;
- Microsoft.AspNetCore.Http.Abstractions;
- Microsoft.AspNetCore.Http.Features;
- Microsoft.AspNetCore.CookiePolicy;
-
-
-
diff --git a/eng/PoliCheckExclusions.xml b/eng/PoliCheckExclusions.xml
index 73e3072f1c65..49b67cd50f78 100644
--- a/eng/PoliCheckExclusions.xml
+++ b/eng/PoliCheckExclusions.xml
@@ -1,3 +1,3 @@
- LINUX_TEST_RESULTS|MACOS_TEST_RESULTS|WINDOWS_TEST_RESULTS
-
\ No newline at end of file
+ LINUX_TEST_RESULTS|MACOS_TEST_RESULTS|WINDOWS_TEST_RESULTS|LINUX_TEST_LOGS|MACOS_TEST_LOGS|WINDOWS_TEST_LOGS|WINDOWS_TEST_TEMPLATES_LOGS
+
diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index 8d1040b1575c..feebe6e3ffcf 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -5,39 +5,74 @@
-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
@@ -46,62 +81,40 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -114,32 +127,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/Publishing.props b/eng/Publishing.props
index aa5294832a3c..ba728e1f71e4 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -30,8 +30,11 @@
-
-
+
diff --git a/eng/SharedFramework.Local.props b/eng/SharedFramework.Local.props
index 5f09d593dea4..ddfe60ecfb73 100644
--- a/eng/SharedFramework.Local.props
+++ b/eng/SharedFramework.Local.props
@@ -3,7 +3,7 @@
This file contains a complete list of the assemblies which are part of the shared framework.
- This project is generated using the and properties from each .csproj in this repository.
+ This project is generated using the and properties from each .csproj in this repository.
-->
diff --git a/eng/SignCheckExclusionsFile.txt b/eng/SignCheckExclusionsFile.txt
index e047f630ec5a..a65b9f27f9b0 100644
--- a/eng/SignCheckExclusionsFile.txt
+++ b/eng/SignCheckExclusionsFile.txt
@@ -1,4 +1,5 @@
-apphost.exe;; Exclude the apphost because this is expected to be code-signed by customers after the SDK modifies it.
-.js;; We do not sign JavaScript files.
-.binlog;; MSBuild binary logs are not signed though they are sometimes placed where validation thinks they should be.
-WixUIWixca|WixDepCA;; We do not sign WiX content in our installers.
+*apphost.exe;; Exclude the apphost because this is expected to be code-signed by customers after the SDK modifies it.
+*.binlog;; MSBuild binary logs are not signed though they are sometimes placed where validation thinks they should be.
+*.js;; We do not sign JavaScript files.
+*netfxca|*wixca|*wixdepca|*wixuiwixca;*.msi; We do not sign WiX content in our installers.
+*wixstdba.dll;*.exe;
diff --git a/eng/Versions.props b/eng/Versions.props
index 91bac37df5d2..138de3c19f37 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -17,6 +17,8 @@
release
preview
Preview $(PreReleaseVersionIteration)
+ true
+ false
$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)
false
@@ -31,7 +33,7 @@
$(VersionPrefix)
- $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0
+ $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0
0.3.$(AspNetCorePatchVersion)
$([MSBuild]::Add(10, $(AspNetCoreMajorVersion)))
@@ -234,7 +236,7 @@
4.2.1
4.2.1
3.8.0
- 2.23.2
+ 2.27.0
3.0.0
3.0.0
3.0.0
@@ -266,5 +268,6 @@
https://dotnetcli.blob.core.windows.net/dotnet/
+ https://dotnetclimsrc.blob.core.windows.net/dotnet/
diff --git a/eng/Workarounds.targets b/eng/Workarounds.targets
index 1e54db80e55f..0e2159fd3c25 100644
--- a/eng/Workarounds.targets
+++ b/eng/Workarounds.targets
@@ -67,4 +67,15 @@
+
+
+
+
+
+
+
+
diff --git a/eng/scripts/CodeCheck.ps1 b/eng/scripts/CodeCheck.ps1
index 474d8e2e81a0..c48d2e796cd9 100644
--- a/eng/scripts/CodeCheck.ps1
+++ b/eng/scripts/CodeCheck.ps1
@@ -4,7 +4,11 @@
This script runs a quick check for common errors, such as checking that Visual Studio solutions are up to date or that generated code has been committed to source.
#>
param(
- [switch]$ci
+ [switch]$ci,
+ # Optional arguments that enable downloading an internal
+ # runtime or runtime from a non-default location
+ [string]$DotNetRuntimeSourceFeed,
+ [string]$DotNetRuntimeSourceFeedKey
)
$ErrorActionPreference = 'Stop'
@@ -43,7 +47,12 @@ function LogError {
try {
if ($ci) {
# Install dotnet.exe
- & $repoRoot/restore.cmd -ci -NoBuildNodeJS
+ if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) {
+ & $repoRoot/restore.cmd -ci -NoBuildNodeJS -DotNetRuntimeSourceFeed $DotNetRuntimeSourceFeed -DotNetRuntimeSourceFeedKey $DotNetRuntimeSourceFeedKey
+ }
+ else{
+ & $repoRoot/restore.cmd -ci -NoBuildNodeJS
+ }
}
. "$repoRoot/activate.ps1"
@@ -172,12 +181,13 @@ try {
# Redirect stderr to stdout because PowerShell does not consistently handle output to stderr
$changedFiles = & cmd /c 'git --no-pager diff --ignore-space-change --name-only 2>nul'
- # Temporary: Disable check for blazor js file
- $changedFilesExclusion = "src/Components/Web.JS/dist/Release/blazor.server.js"
+ # Temporary: Disable check for blazor js file and nuget.config (updated automatically for
+ # internal builds)
+ $changedFilesExclusions = @("src/Components/Web.JS/dist/Release/blazor.server.js", "NuGet.config")
if ($changedFiles) {
foreach ($file in $changedFiles) {
- if ($file -eq $changedFilesExclusion) {continue}
+ if ($changedFilesExclusions -contains $file) {continue}
$filePath = Resolve-Path "${repoRoot}/${file}"
LogError "Generated code is not up to date in $file. You might need to regenerate the reference assemblies or project list (see docs/ReferenceAssemblies.md and docs/ReferenceResolution.md)" -filepath $filePath
& git --no-pager diff --ignore-space-change $filePath
diff --git a/eng/scripts/ci-source-build.sh b/eng/scripts/ci-source-build.sh
index dd737ac47317..468f74975193 100755
--- a/eng/scripts/ci-source-build.sh
+++ b/eng/scripts/ci-source-build.sh
@@ -9,10 +9,34 @@ set -euo pipefail
scriptroot="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
reporoot="$(dirname "$(dirname "$scriptroot")")"
+#
+# This commented out section is used for servicing branches
+#
+# For local development, make a backup copy of this file first
+# if [ ! -f "$reporoot/global.bak.json" ]; then
+# mv "$reporoot/global.json" "$reporoot/global.bak.json"
+# fi
+
+# Detect the current version of .NET Core installed
+# export SDK_VERSION=$(dotnet --version)
+# echo "The ambient version of .NET Core SDK version = $SDK_VERSION"
+
+# Update the global.json file to match the current .NET environment
+# cat "$reporoot/global.bak.json" | \
+# jq '.sdk.version=env.SDK_VERSION' | \
+# jq '.tools.dotnet=env.SDK_VERSION' | \
+# jq 'del(.tools.runtimes)' \
+# > "$reporoot/global.json"
+
+# Restore the original global.json file
+#trap "{
+# mv "$reporoot/global.bak.json" "$reporoot/global.json"
+#}" EXIT
+
# Build repo tasks
"$reporoot/eng/common/build.sh" --restore --build --ci --configuration Release /p:ProjectToBuild=$reporoot/eng/tools/RepoTasks/RepoTasks.csproj
export DotNetBuildFromSource='true'
# Build projects
-"$reporoot/eng/common/build.sh" --restore --build --pack "$@"
+"$reporoot/eng/common/build.sh" --restore --build --pack "$@"
\ No newline at end of file
diff --git a/eng/targets/Packaging.targets b/eng/targets/Packaging.targets
index fdef1de7a324..ea8dabdb4675 100644
--- a/eng/targets/Packaging.targets
+++ b/eng/targets/Packaging.targets
@@ -13,7 +13,7 @@
<_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)">
$(PackageId)
- $(PackageVersion)
+ $(PackageVersionForPackageVersionInfo)
$(VersionSuffix)
$(PackageId.Replace('.',''))PackageVersion
diff --git a/eng/targets/ReferenceAssembly.targets b/eng/targets/ReferenceAssembly.targets
index 149d4e244375..84076d9a414c 100644
--- a/eng/targets/ReferenceAssembly.targets
+++ b/eng/targets/ReferenceAssembly.targets
@@ -1,6 +1,6 @@
-
+
<_RefSourceOutputPath>$([System.IO.Directory]::GetParent('$(MSBuildProjectDirectory)'))/ref/
<_RefProjectFileOutputPath>$(_RefSourceOutputPath)$(AssemblyName).csproj
@@ -13,8 +13,8 @@
+ Targets="_GenerateProjectSourceInner"
+ Properties="TargetFramework=%(_DeduplicatedTargetFramework.Identity);CompileUsingReferenceAssemblies=false">
@@ -23,27 +23,31 @@
+ <_TargetFrameworkOverride />
+ <_TargetFrameworkOverride
+ Condition=" @(_ResultTargetFramework->Count()) > 1 ">%0A <TargetFrameworks Condition="'%24(DotNetBuildFromSource)' == 'true'">%24(DefaultNetCoreTargetFramework)</TargetFrameworks>
- @(_ResultTargetFramework)
+ @(_ResultTargetFramework)$(_TargetFrameworkOverride)
@(ProjectListContentItem->'%(Identity)', '%0A')
]]>
-
-
-
+
-
+
<_RefSourceFileTFM>$(TargetFramework)
<_RefSourceFileTFM Condition="$(TargetFramework.StartsWith('netcoreapp'))">netcoreapp
@@ -53,6 +57,7 @@
<_RefSourceOutputPath>$([System.IO.Directory]::GetParent('$(MSBuildProjectDirectory)'))/ref/
<_RefSourceFileName>$(AssemblyName).$(_RefSourceFileTFM).cs
<_ManualRefSourceFileName>$(AssemblyName).Manual.cs
+ <_PerTFMManualRefSourceFileName>$(AssemblyName).$(_RefSourceFileTFM).Manual.cs
<_RefSourceFileOutputPath>$(_RefSourceOutputPath)$(_RefSourceFileName)
@@ -63,8 +68,11 @@
<_GenApiFile>$([MSBuild]::NormalizePath('$(ArtifactsDir)', 'log', 'GenAPI.rsp'))
- <_GenAPICommand Condition="'$(MSBuildRuntimeType)' == 'core'">"$(DotNetTool)" --roll-forward-on-no-candidate-fx 2 "$(_GenAPIPath)"
+ <_GenAPICommand
+ Condition="'$(MSBuildRuntimeType)' == 'core'">"$(DotNetTool)" --roll-forward-on-no-candidate-fx 2 "$(_GenAPIPath)"
<_GenAPICmd>$(_GenAPICommand) @"$(_GenApiFile)"
+ <_GenAPICmd
+ Condition=" '$(AdditionalGenApiCmdOptions)' != '' ">$(_GenAPICmd) $(AdditionalGenApiCmdOptions)
<_GenApiArguments>
-
+ <_ReferenceAssemblyCompileItems Include="$(_RefSourceFileName)" />
+ <_ReferenceAssemblyCompileItems Include="$(_ManualRefSourceFileName)"
+ Condition="Exists('$(_RefSourceOutputPath)$(_ManualRefSourceFileName)')" />
+ <_ReferenceAssemblyCompileItems Include="$(_PerTFMManualRefSourceFileName)"
+ Condition="Exists('$(_RefSourceOutputPath)$(_PerTFMManualRefSourceFileName)')" />
+ <_ReferenceAssemblyCompileItems Include="../src/AssemblyInfo.cs"
+ Condition="Exists('$(MSBuildProjectDirectory)/AssemblyInfo.cs')" />
+ <_ReferenceAssemblyCompileItems Include="../src/Properties/AssemblyInfo.cs"
+ Condition="Exists('$(MSBuildProjectDirectory)/Properties/AssemblyInfo.cs')" />
+
+
+ <_ReferenceAssemblyItems
+ Include="@(_ReferenceAssemblyCompileItems->'<Compile Include="%(Identity)" />')" />
+ <_ReferenceAssemblyItems
+ Include="@(FilteredOriginalReferences->'<Reference Include="%(Identity)" />')"
+ Condition=" '@(FilteredOriginalReferences)' != '' " />
+
+ <_ReferenceAssemblyItems
+ Include="@(InternalsVisibleTo->'<InternalsVisibleTo Include="%(Identity)" Key="%(Key)" />')"
+ Condition=" '@(InternalsVisibleTo)' != '' " />
- <_ManualReferenceAssemblyContent />
- <_ManualReferenceAssemblyContent Condition="Exists('$(_RefSourceOutputPath)$(_ManualRefSourceFileName)')">
- ]]>
-
-
- ]]>$(_ManualReferenceAssemblyContent)'', '%0A ')
+ @(_ReferenceAssemblyItems, '%0A ')
]]>
diff --git a/eng/targets/ResolveReferences.targets b/eng/targets/ResolveReferences.targets
index 4efbe58e9769..9762a9380ec5 100644
--- a/eng/targets/ResolveReferences.targets
+++ b/eng/targets/ResolveReferences.targets
@@ -210,6 +210,24 @@
Text="Could not resolve this reference. Could not locate the package or project for "%(Reference.Identity)". Did you update baselines and dependencies lists? See docs/ReferenceResolution.md for more details." />
+
+ <_CompileTfmUsingReferenceAssemblies>false
+ <_CompileTfmUsingReferenceAssemblies
+ Condition=" '$(CompileUsingReferenceAssemblies)' != false AND '$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)' ">true
+
+
+
+
+
+
@@ -237,7 +255,7 @@
$([MSBuild]::ValueOrDefault($(IsAspNetCoreApp),'false'))
- $([MSBuild]::ValueOrDefault($(IsShippingPackage),'false'))
+ $([MSBuild]::ValueOrDefault($(IsPackable),'false'))
$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectFullPath)))
$(ReferenceAssemblyProjectFileRelativePath)
@@ -269,4 +287,4 @@
-
+
\ No newline at end of file
diff --git a/eng/tools/RepoTasks/DownloadFile.cs b/eng/tools/RepoTasks/DownloadFile.cs
new file mode 100644
index 000000000000..7ba2602d0ce6
--- /dev/null
+++ b/eng/tools/RepoTasks/DownloadFile.cs
@@ -0,0 +1,149 @@
+// Copyright (c) .NET Foundation and contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System;
+using System.IO;
+using System.Net;
+using System.Net.Http;
+using System.Threading.Tasks;
+using System.Collections.Generic;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+ public class DownloadFile : Microsoft.Build.Utilities.Task
+ {
+ [Required]
+ public string Uri { get; set; }
+
+ ///
+ /// If this field is set and the task fail to download the file from `Uri`, with a NotFound
+ /// status, it will try to download the file from `PrivateUri`.
+ ///
+ public string PrivateUri { get; set; }
+
+ ///
+ /// Suffix for the private URI in base64 form (for SAS compatibility)
+ ///
+ public string PrivateUriSuffix { get; set; }
+
+ public int MaxRetries { get; set; } = 5;
+
+ [Required]
+ public string DestinationPath { get; set; }
+
+ public bool Overwrite { get; set; }
+
+ public override bool Execute()
+ {
+ return ExecuteAsync().GetAwaiter().GetResult();
+ }
+
+ private async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ string destinationDir = Path.GetDirectoryName(DestinationPath);
+ if (!Directory.Exists(destinationDir))
+ {
+ Directory.CreateDirectory(destinationDir);
+ }
+
+ if (File.Exists(DestinationPath) && !Overwrite)
+ {
+ return true;
+ }
+
+ const string FileUriProtocol = "file://";
+
+ if (Uri.StartsWith(FileUriProtocol, StringComparison.Ordinal))
+ {
+ var filePath = Uri.Substring(FileUriProtocol.Length);
+ Log.LogMessage($"Copying '{filePath}' to '{DestinationPath}'");
+ File.Copy(filePath, DestinationPath);
+ return true;
+ }
+
+ List errorMessages = new List();
+ bool? downloadStatus = await DownloadWithRetriesAsync(Uri, DestinationPath, errorMessages);
+
+ if (downloadStatus == false && !string.IsNullOrEmpty(PrivateUri))
+ {
+ string uriSuffix = "";
+ if (!string.IsNullOrEmpty(PrivateUriSuffix))
+ {
+ var uriSuffixBytes = System.Convert.FromBase64String(PrivateUriSuffix);
+ uriSuffix = System.Text.Encoding.UTF8.GetString(uriSuffixBytes);
+ }
+ downloadStatus = await DownloadWithRetriesAsync($"{PrivateUri}{uriSuffix}", DestinationPath, errorMessages);
+ }
+
+ if (downloadStatus != true)
+ {
+ foreach (var error in errorMessages)
+ {
+ Log.LogError(error);
+ }
+ }
+
+ return downloadStatus == true;
+ }
+
+ ///
+ /// Attempt to download file from `source` with retries when response error is different of FileNotFound and Success.
+ ///
+ /// URL to the file to be downloaded.
+ /// Local path where to put the downloaded file.
+ /// true: Download Succeeded. false: Download failed with 404. null: Download failed but is retriable.
+ private async Task DownloadWithRetriesAsync(string source, string target, List errorMessages)
+ {
+ Random rng = new Random();
+
+ Log.LogMessage(MessageImportance.High, $"Attempting download '{source}' to '{target}'");
+
+ using (var httpClient = new HttpClient())
+ {
+ for (int retryNumber = 0; retryNumber < MaxRetries; retryNumber++)
+ {
+ try
+ {
+ var httpResponse = await httpClient.GetAsync(source);
+
+ Log.LogMessage(MessageImportance.High, $"{source} -> {httpResponse.StatusCode}");
+
+ // The Azure Storage REST API returns '400 - Bad Request' in some cases
+ // where the resource is not found on the storage.
+ // https://docs.microsoft.com/en-us/rest/api/storageservices/common-rest-api-error-codes
+ if (httpResponse.StatusCode == HttpStatusCode.NotFound ||
+ httpResponse.ReasonPhrase.IndexOf("The requested URI does not represent any resource on the server.", StringComparison.OrdinalIgnoreCase) == 0)
+ {
+ errorMessages.Add($"Problems downloading file from '{source}'. Does the resource exist on the storage? {httpResponse.StatusCode} : {httpResponse.ReasonPhrase}");
+ return false;
+ }
+
+ httpResponse.EnsureSuccessStatusCode();
+
+ using (var outStream = File.Create(target))
+ {
+ await httpResponse.Content.CopyToAsync(outStream);
+ }
+
+ Log.LogMessage(MessageImportance.High, $"returning true {source} -> {httpResponse.StatusCode}");
+ return true;
+ }
+ catch (Exception e)
+ {
+ Log.LogMessage(MessageImportance.High, $"returning error in {source} ");
+ errorMessages.Add($"Problems downloading file from '{source}'. {e.Message} {e.StackTrace}");
+ File.Delete(target);
+ }
+
+ await System.Threading.Tasks.Task.Delay(rng.Next(1000, 10000));
+ }
+ }
+
+ Log.LogMessage(MessageImportance.High, $"giving up {source} ");
+ errorMessages.Add($"Giving up downloading the file from '{source}' after {MaxRetries} retries.");
+ return null;
+ }
+ }
+}
\ No newline at end of file
diff --git a/eng/tools/RepoTasks/RepoTasks.tasks b/eng/tools/RepoTasks/RepoTasks.tasks
index 0fa015d81f0a..631944feea73 100644
--- a/eng/tools/RepoTasks/RepoTasks.tasks
+++ b/eng/tools/RepoTasks/RepoTasks.tasks
@@ -10,4 +10,5 @@
+
diff --git a/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs b/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs
index 4e396cbceaa9..eb748f2ab369 100644
--- a/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs
+++ b/src/Analyzers/Analyzers/test/AnalyzerTestBase.cs
@@ -39,7 +39,7 @@ public Project CreateProject(string source)
}
var read = Read(source);
- return DiagnosticProject.Create(GetType().Assembly, new[] { read.Source, });
+ return AnalyzersDiagnosticAnalyzerRunner.CreateProjectWithReferencesInBinDir(GetType().Assembly, new[] { read.Source, });
}
public Task CreateCompilationAsync(string source)
diff --git a/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs b/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs
index 57a8ce8a697f..f54a187c0e7e 100644
--- a/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs
+++ b/src/Analyzers/Analyzers/test/AnalyzersDiagnosticAnalyzerRunner.cs
@@ -2,6 +2,9 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
+using System.IO;
+using System.Linq;
+using System.Reflection;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Analyzer.Testing;
using Microsoft.CodeAnalysis;
@@ -20,7 +23,28 @@ public AnalyzersDiagnosticAnalyzerRunner(DiagnosticAnalyzer analyzer)
public Task GetDiagnosticsAsync(string source)
{
- return GetDiagnosticsAsync(sources: new[] { source }, Analyzer, Array.Empty());
+ var project = CreateProjectWithReferencesInBinDir(GetType().Assembly, source);
+
+ return GetDiagnosticsAsync(project);
+ }
+
+ public static Project CreateProjectWithReferencesInBinDir(Assembly testAssembly, params string[] source)
+ {
+ // The deps file in the project is incorrect and does not contain "compile" nodes for some references.
+ // However these binaries are always present in the bin output. As a "temporary" workaround, we'll add
+ // every dll file that's present in the test's build output as a metadatareference.
+
+ var project = DiagnosticProject.Create(testAssembly, source);
+
+ foreach (var assembly in Directory.EnumerateFiles(AppContext.BaseDirectory, "*.dll"))
+ {
+ if (!project.MetadataReferences.Any(c => string.Equals(Path.GetFileNameWithoutExtension(c.Display), Path.GetFileNameWithoutExtension(assembly), StringComparison.OrdinalIgnoreCase)))
+ {
+ project = project.AddMetadataReference(MetadataReference.CreateFromFile(assembly));
+ }
+ }
+
+ return project;
}
public Task GetDiagnosticsAsync(Project project)
diff --git a/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.Manual.cs b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.Manual.cs
new file mode 100644
index 000000000000..10c1b0e282e0
--- /dev/null
+++ b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.Manual.cs
@@ -0,0 +1,147 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+namespace Microsoft.AspNetCore.Antiforgery
+{
+ internal partial class AntiforgeryFeature : Microsoft.AspNetCore.Antiforgery.IAntiforgeryFeature
+ {
+ public AntiforgeryFeature() { }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken CookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public bool HaveDeserializedCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public bool HaveDeserializedRequestToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public bool HaveGeneratedNewCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public bool HaveStoredNewCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public string NewCookieTokenString { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewRequestToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public string NewRequestTokenString { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken RequestToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ }
+
+ internal partial class AntiforgerySerializationContext
+ {
+ public AntiforgerySerializationContext() { }
+ public System.IO.BinaryReader Reader { get { throw null; } }
+ public System.Security.Cryptography.SHA256 Sha256 { get { throw null; } }
+ public System.IO.MemoryStream Stream { get { throw null; } }
+ public System.IO.BinaryWriter Writer { get { throw null; } }
+ public char[] GetChars(int count) { throw null; }
+ public void Reset() { }
+ }
+
+ internal partial class AntiforgerySerializationContextPooledObjectPolicy : Microsoft.Extensions.ObjectPool.IPooledObjectPolicy
+ {
+ public AntiforgerySerializationContextPooledObjectPolicy() { }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgerySerializationContext Create() { throw null; }
+ public bool Return(Microsoft.AspNetCore.Antiforgery.AntiforgerySerializationContext obj) { throw null; }
+ }
+
+ internal sealed partial class AntiforgeryToken
+ {
+ internal const int ClaimUidBitLength = 256;
+ internal const int SecurityTokenBitLength = 128;
+ public AntiforgeryToken() { }
+ public string AdditionalData { get { throw null; } set { } }
+ public Microsoft.AspNetCore.Antiforgery.BinaryBlob ClaimUid { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public bool IsCookieToken { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute]set { } }
+ public Microsoft.AspNetCore.Antiforgery.BinaryBlob SecurityToken { get { throw null; } set { } }
+ public string Username { get { throw null; } set { } }
+ }
+
+ [System.Diagnostics.DebuggerDisplayAttribute("{DebuggerString}")]
+ internal sealed partial class BinaryBlob : System.IEquatable
+ {
+ public BinaryBlob(int bitLength) { }
+ public BinaryBlob(int bitLength, byte[] data) { }
+ public int BitLength { get { throw null; } }
+ public bool Equals(Microsoft.AspNetCore.Antiforgery.BinaryBlob other) { throw null; }
+ public override bool Equals(object obj) { throw null; }
+ public byte[] GetData() { throw null; }
+ public override int GetHashCode() { throw null; }
+ }
+
+ internal partial class DefaultAntiforgery : Microsoft.AspNetCore.Antiforgery.IAntiforgery
+ {
+ public DefaultAntiforgery(Microsoft.Extensions.Options.IOptions antiforgeryOptionsAccessor, Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenGenerator tokenGenerator, Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenSerializer tokenSerializer, Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenStore tokenStore, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory) { }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet GetAndStoreTokens(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet GetTokens(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
+ [System.Diagnostics.DebuggerStepThroughAttribute]
+ public System.Threading.Tasks.Task IsRequestValidAsync(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
+ public void SetCookieTokenAndHeader(Microsoft.AspNetCore.Http.HttpContext httpContext) { }
+ protected virtual void SetDoNotCacheHeaders(Microsoft.AspNetCore.Http.HttpContext httpContext) { }
+ [System.Diagnostics.DebuggerStepThroughAttribute]
+ public System.Threading.Tasks.Task ValidateRequestAsync(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
+ }
+
+ internal partial class DefaultAntiforgeryTokenGenerator : Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenGenerator
+ {
+ public DefaultAntiforgeryTokenGenerator(Microsoft.AspNetCore.Antiforgery.IClaimUidExtractor claimUidExtractor, Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider additionalDataProvider) { }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateCookieToken() { throw null; }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateRequestToken(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken) { throw null; }
+ public bool IsCookieTokenValid(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken) { throw null; }
+ public bool TryValidateTokenSet(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken requestToken, out string message) { throw null; }
+ }
+
+ internal partial class DefaultAntiforgeryTokenSerializer : Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenSerializer
+ {
+ public DefaultAntiforgeryTokenSerializer(Microsoft.AspNetCore.DataProtection.IDataProtectionProvider provider, Microsoft.Extensions.ObjectPool.ObjectPool pool) { }
+ public Microsoft.AspNetCore.Antiforgery.AntiforgeryToken Deserialize(string serializedToken) { throw null; }
+ public string Serialize(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken token) { throw null; }
+ }
+
+ internal partial class DefaultAntiforgeryTokenStore : Microsoft.AspNetCore.Antiforgery.IAntiforgeryTokenStore
+ {
+ public DefaultAntiforgeryTokenStore(Microsoft.Extensions.Options.IOptions optionsAccessor) { }
+ public string GetCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
+ [System.Diagnostics.DebuggerStepThroughAttribute]
+ public System.Threading.Tasks.Task GetRequestTokensAsync(Microsoft.AspNetCore.Http.HttpContext httpContext) { throw null; }
+ public void SaveCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext, string token) { }
+ }
+
+ internal partial class DefaultClaimUidExtractor : Microsoft.AspNetCore.Antiforgery.IClaimUidExtractor
+ {
+ public DefaultClaimUidExtractor(Microsoft.Extensions.ObjectPool.ObjectPool pool) { }
+ public string ExtractClaimUid(System.Security.Claims.ClaimsPrincipal claimsPrincipal) { throw null; }
+ public static System.Collections.Generic.IList GetUniqueIdentifierParameters(System.Collections.Generic.IEnumerable claimsIdentities) { throw null; }
+ }
+
+ internal partial interface IAntiforgeryFeature
+ {
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken CookieToken { get; set; }
+ bool HaveDeserializedCookieToken { get; set; }
+ bool HaveDeserializedRequestToken { get; set; }
+ bool HaveGeneratedNewCookieToken { get; set; }
+ bool HaveStoredNewCookieToken { get; set; }
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewCookieToken { get; set; }
+ string NewCookieTokenString { get; set; }
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken NewRequestToken { get; set; }
+ string NewRequestTokenString { get; set; }
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken RequestToken { get; set; }
+ }
+
+ internal partial interface IAntiforgeryTokenGenerator
+ {
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateCookieToken();
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken GenerateRequestToken(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken);
+ bool IsCookieTokenValid(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken);
+ bool TryValidateTokenSet(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken cookieToken, Microsoft.AspNetCore.Antiforgery.AntiforgeryToken requestToken, out string message);
+ }
+
+ internal partial interface IAntiforgeryTokenSerializer
+ {
+ Microsoft.AspNetCore.Antiforgery.AntiforgeryToken Deserialize(string serializedToken);
+ string Serialize(Microsoft.AspNetCore.Antiforgery.AntiforgeryToken token);
+ }
+
+ internal partial interface IAntiforgeryTokenStore
+ {
+ string GetCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext);
+ System.Threading.Tasks.Task GetRequestTokensAsync(Microsoft.AspNetCore.Http.HttpContext httpContext);
+ void SaveCookieToken(Microsoft.AspNetCore.Http.HttpContext httpContext, string token);
+ }
+
+ internal partial interface IClaimUidExtractor
+ {
+ string ExtractClaimUid(System.Security.Claims.ClaimsPrincipal claimsPrincipal);
+ }
+}
diff --git a/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj
index 19cd7ed436e3..451b80df9531 100644
--- a/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj
+++ b/src/Antiforgery/ref/Microsoft.AspNetCore.Antiforgery.csproj
@@ -5,10 +5,12 @@
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj b/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj
index d00d01e0662c..566e221871c3 100644
--- a/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj
+++ b/src/Antiforgery/src/Microsoft.AspNetCore.Antiforgery.csproj
@@ -6,7 +6,7 @@
true
true
aspnetcore;antiforgery
- false
+ false
diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj b/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
deleted file mode 100644
index 85033065e42a..000000000000
--- a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- $(DefaultNetCoreTargetFramework)
-
-
-
-
-
-
-
-
-
diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.netcoreapp.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.netcoreapp.cs
deleted file mode 100644
index 37f4cd55734b..000000000000
--- a/src/Azure/AzureAD/Authentication.AzureAD.UI/ref/Microsoft.AspNetCore.Authentication.AzureAD.UI.netcoreapp.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-namespace Microsoft.AspNetCore.Authentication
-{
- public static partial class AzureADAuthenticationBuilderExtensions
- {
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureAD(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; }
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureAD(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string openIdConnectScheme, string cookieScheme, string displayName, System.Action configureOptions) { throw null; }
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; }
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string jwtBearerScheme, System.Action configureOptions) { throw null; }
- }
-}
-namespace Microsoft.AspNetCore.Authentication.AzureAD.UI
-{
- public static partial class AzureADDefaults
- {
- public const string AuthenticationScheme = "AzureAD";
- public const string BearerAuthenticationScheme = "AzureADBearer";
- public const string CookieScheme = "AzureADCookie";
- public static readonly string DisplayName;
- public const string JwtBearerAuthenticationScheme = "AzureADJwtBearer";
- public const string OpenIdScheme = "AzureADOpenID";
- }
- public partial class AzureADOptions
- {
- public AzureADOptions() { }
- public string[] AllSchemes { get { throw null; } }
- public string CallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string ClientId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string ClientSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string CookieSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string Domain { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string Instance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string JwtBearerSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
- public string OpenIdConnectSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string SignedOutCallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string TenantId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- }
-}
-namespace Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal
-{
- [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute]
- public partial class AccessDeniedModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel
- {
- public AccessDeniedModel() { }
- public void OnGet() { }
- }
- [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute]
- [Microsoft.AspNetCore.Mvc.ResponseCacheAttribute(Duration=0, Location=Microsoft.AspNetCore.Mvc.ResponseCacheLocation.None, NoStore=true)]
- public partial class ErrorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel
- {
- public ErrorModel() { }
- public string RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public bool ShowRequestId { get { throw null; } }
- public void OnGet() { }
- }
- [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute]
- public partial class SignedOutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel
- {
- public SignedOutModel() { }
- public Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; }
- }
-}
diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
index 6720f825e670..a17773b58dcf 100644
--- a/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
+++ b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
@@ -6,7 +6,7 @@
$(DefaultNetCoreTargetFramework)
aspnetcore;authentication;AzureAD
true
- true
+ true
Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core
true
diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
deleted file mode 100644
index 7bcd1a5e1bbf..000000000000
--- a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- $(DefaultNetCoreTargetFramework)
-
-
-
-
-
-
-
-
-
diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.netcoreapp.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.netcoreapp.cs
deleted file mode 100644
index 65981fe5fa00..000000000000
--- a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/ref/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.netcoreapp.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-namespace Microsoft.AspNetCore.Authentication
-{
- public static partial class AzureADB2CAuthenticationBuilderExtensions
- {
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2C(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; }
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2C(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string openIdConnectScheme, string cookieScheme, string displayName, System.Action configureOptions) { throw null; }
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2CBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) { throw null; }
- public static Microsoft.AspNetCore.Authentication.AuthenticationBuilder AddAzureADB2CBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string jwtBearerScheme, System.Action configureOptions) { throw null; }
- }
-}
-namespace Microsoft.AspNetCore.Authentication.AzureADB2C.UI
-{
- public static partial class AzureADB2CDefaults
- {
- public const string AuthenticationScheme = "AzureADB2C";
- public const string BearerAuthenticationScheme = "AzureADB2CBearer";
- public const string CookieScheme = "AzureADB2CCookie";
- public static readonly string DisplayName;
- public const string JwtBearerAuthenticationScheme = "AzureADB2CJwtBearer";
- public const string OpenIdScheme = "AzureADB2COpenID";
- public static readonly string PolicyKey;
- }
- public partial class AzureADB2COptions
- {
- public AzureADB2COptions() { }
- public string[] AllSchemes { get { throw null; } }
- public string CallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string ClientId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string ClientSecret { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string CookieSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string DefaultPolicy { get { throw null; } }
- public string Domain { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string EditProfilePolicyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string Instance { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string JwtBearerSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
- public string OpenIdConnectSchemeName { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string ResetPasswordPolicyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string SignedOutCallbackPath { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string SignUpSignInPolicyId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- }
-}
-namespace Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal
-{
- [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute]
- public partial class AccessDeniedModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel
- {
- public AccessDeniedModel() { }
- public void OnGet() { }
- }
- [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute]
- [Microsoft.AspNetCore.Mvc.ResponseCacheAttribute(Duration=0, Location=Microsoft.AspNetCore.Mvc.ResponseCacheLocation.None, NoStore=true)]
- public partial class ErrorModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel
- {
- public ErrorModel() { }
- public string RequestId { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public bool ShowRequestId { get { throw null; } }
- public void OnGet() { }
- }
- [Microsoft.AspNetCore.Authorization.AllowAnonymousAttribute]
- public partial class SignedOutModel : Microsoft.AspNetCore.Mvc.RazorPages.PageModel
- {
- public SignedOutModel() { }
- public Microsoft.AspNetCore.Mvc.IActionResult OnGet() { throw null; }
- }
-}
diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
index 2711ae53037d..77ec20937b75 100644
--- a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
+++ b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
@@ -6,7 +6,7 @@
$(DefaultNetCoreTargetFramework)
aspnetcore;authentication;AzureADB2C
true
- true
+ true
Microsoft.AspNetCore.Mvc.ApplicationParts.NullApplicationPartFactory, Microsoft.AspNetCore.Mvc.Core
true
diff --git a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj b/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj
deleted file mode 100644
index 5026fcfe23e3..000000000000
--- a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- $(DefaultNetCoreTargetFramework)
-
-
-
-
-
-
-
diff --git a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.netcoreapp.cs b/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.netcoreapp.cs
deleted file mode 100644
index 5b449024e0f2..000000000000
--- a/src/Azure/AzureAppServices.HostingStartup/ref/Microsoft.AspNetCore.AzureAppServices.HostingStartup.netcoreapp.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-namespace Microsoft.AspNetCore.AzureAppServices.HostingStartup
-{
- public partial class AzureAppServicesHostingStartup : Microsoft.AspNetCore.Hosting.IHostingStartup
- {
- public AzureAppServicesHostingStartup() { }
- public void Configure(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) { }
- }
-}
diff --git a/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj b/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj
index 8992d007b831..5d4b07647f16 100644
--- a/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj
+++ b/src/Azure/AzureAppServices.HostingStartup/src/Microsoft.AspNetCore.AzureAppServices.HostingStartup.csproj
@@ -7,7 +7,7 @@
$(DefaultNetCoreTargetFramework)
true
aspnetcore;azure;appservices
- true
+ true
diff --git a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj b/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj
deleted file mode 100644
index ba1159838ba3..000000000000
--- a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- $(DefaultNetCoreTargetFramework)
-
-
-
-
-
-
-
diff --git a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.netcoreapp.cs b/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.netcoreapp.cs
deleted file mode 100644
index 55a333c151f4..000000000000
--- a/src/Azure/AzureAppServicesIntegration/ref/Microsoft.AspNetCore.AzureAppServicesIntegration.netcoreapp.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-namespace Microsoft.AspNetCore.Hosting
-{
- public static partial class AppServicesWebHostBuilderExtensions
- {
- public static Microsoft.AspNetCore.Hosting.IWebHostBuilder UseAzureAppServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) { throw null; }
- }
-}
diff --git a/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj b/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj
index 972ea62ff830..a9f4eae94d18 100644
--- a/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj
+++ b/src/Azure/AzureAppServicesIntegration/src/Microsoft.AspNetCore.AzureAppServicesIntegration.csproj
@@ -7,7 +7,7 @@
true
true
aspnetcore;azure;appservices
- true
+ true
diff --git a/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
index a83904f24566..dab047ca116a 100644
--- a/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
+++ b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
@@ -6,7 +6,7 @@
true
false
Roslyn analyzers for ASP.NET Core Components.
- true
+ true
false
@@ -18,6 +18,7 @@
+
diff --git a/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.props b/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.props
deleted file mode 100644
index 0ba7b4da050d..000000000000
--- a/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.props
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- true
-
-
diff --git a/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets b/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets
new file mode 100644
index 000000000000..d8c68fd5ee2a
--- /dev/null
+++ b/src/Components/Analyzers/src/build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets
@@ -0,0 +1,34 @@
+
+
+
+
+ <_AspNetCoreComponentsAnalyzerName Include="$([System.IO.Path]::GetFileNameWithoutExtension('%(Analyzer.Identity)'))" />
+
+
+
+ <_AspNetCoreComponentsAnalyzerPath>$([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)../../analyzers/dotnet/cs/Microsoft.AspNetCore.Components.Analyzers.dll'))
+
+
+
+
+
+
+
diff --git a/src/Components/Analyzers/src/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets b/src/Components/Analyzers/src/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets
new file mode 100644
index 000000000000..fd79fdac66f4
--- /dev/null
+++ b/src/Components/Analyzers/src/buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj b/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj
index 513c24575daa..53db4b90de52 100644
--- a/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj
+++ b/src/Components/Authorization/ref/Microsoft.AspNetCore.Components.Authorization.csproj
@@ -2,15 +2,16 @@
netstandard2.0;$(DefaultNetCoreTargetFramework)
+ $(DefaultNetCoreTargetFramework)
-
-
+
+
-
-
+
+
diff --git a/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj b/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj
index 8f3142849aeb..fa9f68277203 100644
--- a/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj
+++ b/src/Components/Authorization/src/Microsoft.AspNetCore.Components.Authorization.csproj
@@ -6,7 +6,6 @@
true
Authentication and authorization support for Blazor applications.
true
- true
3.0
diff --git a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.csproj b/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.csproj
deleted file mode 100644
index 88ca078caaeb..000000000000
--- a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.csproj
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- netstandard2.1
-
-
-
-
-
-
-
-
diff --git a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.netstandard2.1.cs b/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.netstandard2.1.cs
deleted file mode 100644
index 583e9efc50a8..000000000000
--- a/src/Components/Blazor/Blazor/ref/Microsoft.AspNetCore.Blazor.netstandard2.1.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-namespace Microsoft.AspNetCore.Blazor
-{
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
- public static partial class JSInteropMethods
- {
- [Microsoft.JSInterop.JSInvokableAttribute("NotifyLocationChanged")]
- public static void NotifyLocationChanged(string uri, bool isInterceptedLink) { }
- }
-}
-namespace Microsoft.AspNetCore.Blazor.Hosting
-{
- public static partial class BlazorWebAssemblyHost
- {
- public static Microsoft.AspNetCore.Blazor.Hosting.IWebAssemblyHostBuilder CreateDefaultBuilder() { throw null; }
- }
- public partial interface IWebAssemblyHost : System.IDisposable
- {
- System.IServiceProvider Services { get; }
- System.Threading.Tasks.Task StartAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
- System.Threading.Tasks.Task StopAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
- }
- public partial interface IWebAssemblyHostBuilder
- {
- System.Collections.Generic.IDictionary