Просмотр исходного кода

Merge pull request #28523 from dotnet-maestro-bot/merge/release/5.0-to-master

[automated] Merge branch 'release/5.0' => 'master'
Brennan 5 лет назад
Родитель
Сommit
965eaffd23

Разница между файлами не показана из-за своего большого размера
+ 218 - 218
eng/Baseline.Designer.props


+ 101 - 101
eng/Baseline.xml

@@ -1,108 +1,108 @@
 <!--
 <!--
 
 
-This file contains a list of all the packages and their versions which were released in ASP.NET Core 5.0.0.
+This file contains a list of all the packages and their versions which were released in ASP.NET Core 5.0.1.
 Update this list when preparing for a new patch.
 Update this list when preparing for a new patch.
 
 
 -->
 -->
-<Baseline Version="5.0.0">
-  <Package Id="AspNetCoreRuntime.5.0.x64" Version="5.0.0" />
-  <Package Id="AspNetCoreRuntime.5.0.x86" Version="5.0.0" />
-  <Package Id="dotnet-sql-cache" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.ApiAuthorization.IdentityServer" Version="5.0.0" />
+<Baseline Version="5.0.1">
+  <Package Id="AspNetCoreRuntime.5.0.x64" Version="5.0.1" />
+  <Package Id="AspNetCoreRuntime.5.0.x86" Version="5.0.1" />
+  <Package Id="dotnet-sql-cache" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.ApiAuthorization.IdentityServer" Version="5.0.1" />
   <Package Id="Microsoft.AspNetCore.App.Ref" Version="5.0.0" />
   <Package Id="Microsoft.AspNetCore.App.Ref" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-arm" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-arm64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-musl-arm64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-musl-x64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-x64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.osx-x64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.win-arm" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.win-arm64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.win-x64" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.App.Runtime.win-x86" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.Certificate" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.Facebook" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.Google" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.Negotiate" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.Twitter" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authentication.WsFederation" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Authorization" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.Analyzers" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.Authorization" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.Forms" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.Web" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Components" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.ConcurrencyLimiter" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Connections.Abstractions" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Cryptography.Internal" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.DataProtection.Abstractions" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.DataProtection.Extensions" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.DataProtection" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.HeaderPropagation" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Hosting.WindowsServices" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Http.Connections.Client" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Http.Connections.Common" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Http.Features" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Identity.UI" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.JsonPatch" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Metadata" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.MiddlewareAnalysis" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Mvc.Testing" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Owin" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Razor.Language" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Client.Core" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Client" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Common" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.Specification.Tests" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.SpaServices.Extensions" Version="5.0.0" />
-  <Package Id="Microsoft.AspNetCore.TestHost" Version="5.0.0" />
-  <Package Id="Microsoft.Authentication.WebAssembly.Msal" Version="5.0.0" />
-  <Package Id="Microsoft.CodeAnalysis.Razor" Version="5.0.0" />
-  <Package Id="Microsoft.dotnet-openapi" Version="5.0.0" />
-  <Package Id="Microsoft.DotNet.Web.Client.ItemTemplates" Version="5.0.0" />
-  <Package Id="Microsoft.DotNet.Web.ItemTemplates" Version="5.0.0" />
-  <Package Id="Microsoft.DotNet.Web.ProjectTemplates.5.0" Version="5.0.0" />
-  <Package Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.5.0" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.ApiDescription.Client" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.ApiDescription.Server" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Configuration.KeyPerFile" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.FileProviders.Embedded" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Identity.Core" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Identity.Stores" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Localization.Abstractions" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Localization" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.Logging.AzureAppServices" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.ObjectPool" Version="5.0.0" />
-  <Package Id="Microsoft.Extensions.WebEncoders" Version="5.0.0" />
-  <Package Id="Microsoft.JSInterop.WebAssembly" Version="5.0.0" />
-  <Package Id="Microsoft.JSInterop" Version="5.0.0" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-arm" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-arm64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-musl-arm64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-musl-x64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.linux-x64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.osx-x64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.win-arm" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.win-arm64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.win-x64" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.App.Runtime.win-x86" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.Certificate" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.Facebook" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.Google" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.Negotiate" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.Twitter" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authentication.WsFederation" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Authorization" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.Analyzers" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.Authorization" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.Forms" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.Web" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Components" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.ConcurrencyLimiter" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Connections.Abstractions" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Cryptography.Internal" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.DataProtection.Abstractions" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.DataProtection.Extensions" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.DataProtection" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.HeaderPropagation" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Hosting.WindowsServices" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Http.Connections.Client" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Http.Connections.Common" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Http.Features" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Identity.UI" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.JsonPatch" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Metadata" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.MiddlewareAnalysis" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Mvc.Testing" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Owin" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Razor.Language" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Client.Core" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Client" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Common" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.Specification.Tests" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.SpaServices.Extensions" Version="5.0.1" />
+  <Package Id="Microsoft.AspNetCore.TestHost" Version="5.0.1" />
+  <Package Id="Microsoft.Authentication.WebAssembly.Msal" Version="5.0.1" />
+  <Package Id="Microsoft.CodeAnalysis.Razor" Version="5.0.1" />
+  <Package Id="Microsoft.dotnet-openapi" Version="5.0.1" />
+  <Package Id="Microsoft.DotNet.Web.Client.ItemTemplates" Version="5.0.1" />
+  <Package Id="Microsoft.DotNet.Web.ItemTemplates" Version="5.0.1" />
+  <Package Id="Microsoft.DotNet.Web.ProjectTemplates.5.0" Version="5.0.1" />
+  <Package Id="Microsoft.DotNet.Web.Spa.ProjectTemplates.5.0" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.ApiDescription.Client" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.ApiDescription.Server" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Configuration.KeyPerFile" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Diagnostics.HealthChecks" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.FileProviders.Embedded" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Identity.Core" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Identity.Stores" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Localization.Abstractions" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Localization" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.Logging.AzureAppServices" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.ObjectPool" Version="5.0.1" />
+  <Package Id="Microsoft.Extensions.WebEncoders" Version="5.0.1" />
+  <Package Id="Microsoft.JSInterop.WebAssembly" Version="5.0.1" />
+  <Package Id="Microsoft.JSInterop" Version="5.0.1" />
 </Baseline>
 </Baseline>

+ 38 - 2
eng/Publishing.props

@@ -4,9 +4,11 @@
   </PropertyGroup>
   </PropertyGroup>
 
 
   <PropertyGroup>
   <PropertyGroup>
-    <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallersAndChecksums</PublishDependsOnTargets>
+    <PublishDependsOnTargets>$(PublishDependsOnTargets);_PublishInstallersAndChecksumsAndProductVersion</PublishDependsOnTargets>
 
 
     <_UploadPathRoot>aspnetcore</_UploadPathRoot>
     <_UploadPathRoot>aspnetcore</_UploadPathRoot>
+    <ProductVersionFileName>productVersion.txt</ProductVersionFileName>
+    <ProductVersionFileLocation>$(ArtifactsShippingPackagesDir)$(ProductVersionFileName)</ProductVersionFileLocation>
   </PropertyGroup>
   </PropertyGroup>
 
 
   <!-- $(InstallersOutputPath), $(SymbolsOutputPath), and $(ChecksumExtensions) are not defined. Root Directory.Build.props is not imported. -->
   <!-- $(InstallersOutputPath), $(SymbolsOutputPath), and $(ChecksumExtensions) are not defined. Root Directory.Build.props is not imported. -->
@@ -31,7 +33,9 @@
     <_ChecksumsToPublish Include="$(ArtifactsDir)**\*.sha512" />
     <_ChecksumsToPublish Include="$(ArtifactsDir)**\*.sha512" />
   </ItemGroup>
   </ItemGroup>
 
 
-  <Target Name="_PublishInstallersAndChecksums">
+  <Target 
+    Name="_PublishInstallersAndChecksumsAndProductVersion"
+    DependsOnTargets="_WriteProductVersionFile">
     <!--
     <!--
       This target is defined in eng/targets/Packaging.targets and Npm.Common.targets and included in every C#, F#,
       This target is defined in eng/targets/Packaging.targets and Npm.Common.targets and included in every C#, F#,
       and npm project. We use SignalR.Npm.FunctionalTests.npmproj because it is non-shipping (we need a non-stable
       and npm project. We use SignalR.Npm.FunctionalTests.npmproj because it is non-shipping (we need a non-stable
@@ -65,6 +69,38 @@
         <PublishFlatContainer>true</PublishFlatContainer>
         <PublishFlatContainer>true</PublishFlatContainer>
         <RelativeBlobPath>$(_UploadPathRoot)/%(_InstallersToPublish.UploadPathSegment)/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
         <RelativeBlobPath>$(_UploadPathRoot)/%(_InstallersToPublish.UploadPathSegment)/$(_PackageVersion)/%(Filename)%(Extension)</RelativeBlobPath>
       </ItemsToPushToBlobFeed>
       </ItemsToPushToBlobFeed>
+
+      <ItemsToPushToBlobFeed Include="$(ProductVersionFileLocation)" Condition=" '$(PublishInstallerBaseVersion)' == 'true'">
+        <PublishFlatContainer>true</PublishFlatContainer>
+        <RelativeBlobPath>$(_UploadPathRoot)/Runtime/$(_PackageVersion)/$(ProductVersionFileName)</RelativeBlobPath>
+      </ItemsToPushToBlobFeed>
     </ItemGroup>
     </ItemGroup>
   </Target>
   </Target>
+
+  <Target 
+    Name="_WriteProductVersionFile"
+    Condition=" '$(PublishInstallerBaseVersion)' == 'true'">
+    <!--
+      This target is defined in eng/targets/Packaging.targets and Npm.Common.targets and included in every C#, F#,
+      and npm project. We use Microsoft.AspNetCore.App.Runtime.csproj because it is shipping (we need a stable
+      version string to use for productVersion.txt).
+    -->
+    <MSBuild Projects="$(RepoRoot)src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.csproj"
+        Properties="DisableYarnCheck=true;ExcludeFromBuild=false"
+        Targets="_GetPackageVersionInfo"
+        SkipNonexistentProjects="false">
+      <Output TaskParameter="TargetOutputs" ItemName="_ResolvedProductVersionInfo" />
+    </MSBuild>
+
+    <PropertyGroup>
+      <_ProductVersion>@(_ResolvedProductVersionInfo->'%(PackageVersion)')</_ProductVersion>
+    </PropertyGroup>
+
+    <!-- Generate productVersion.txt containing the value of $(PackageVersion) -->
+    <WriteLinesToFile
+      File="$(ProductVersionFileLocation)"
+      Lines="$(_ProductVersion)"
+      Overwrite="true"
+      Encoding="ASCII" />
+  </Target>
 </Project>
 </Project>

+ 8 - 0
eng/targets/Wix.Common.targets

@@ -18,6 +18,14 @@
   </ItemDefinitionGroup>
   </ItemDefinitionGroup>
 
 
   <PropertyGroup Condition="'$(OutputType)' == 'package'">
   <PropertyGroup Condition="'$(OutputType)' == 'package'">
+    <!-- Set package version for SharedFx & TargetingPack wixproj's -->
+    <!-- Everything built in those projects _except_ the final package & MSI are shipping assets. -->
+    <_GeneratedPackageVersion>$(PackageVersion)</_GeneratedPackageVersion>
+    <_GeneratedPackageVersion
+        Condition="! $(PackageVersion.Contains('$(_PreReleaseLabel)'))">$(PackageVersion)-$(_PreReleaseLabel)$(_BuildNumberLabels)</_GeneratedPackageVersion>
+    <!-- Insert PackageVersion into OutputName for SharedFx & TargetingPack -->
+    <OutputName Condition="'$(OutputNamePrefix)' != '' AND '$(OutputNameSuffix)' != ''">$(OutputNamePrefix)$(_GeneratedPackageVersion)$(OutputNameSuffix)$(TargetExt)</OutputName>
+    
     <EmbedCab Condition="'$(EmbedCab)' == ''">yes</EmbedCab>
     <EmbedCab Condition="'$(EmbedCab)' == ''">yes</EmbedCab>
     <Cabinet Condition="'$(Cabinet)' == ''">$(OutputName.Replace('-', '_')).cab</Cabinet>
     <Cabinet Condition="'$(Cabinet)' == ''">$(OutputName.Replace('-', '_')).cab</Cabinet>
     <InstallDir>$(ProductName)</InstallDir>
     <InstallDir>$(ProductName)</InstallDir>

+ 2 - 2
global.json

@@ -6,14 +6,14 @@
     "dotnet": "6.0.100-alpha.1.20523.3",
     "dotnet": "6.0.100-alpha.1.20523.3",
     "runtimes": {
     "runtimes": {
       "dotnet/x64": [
       "dotnet/x64": [
-        "2.1.18",
+        "2.1.23",
         "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
         "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
       ],
       ],
       "dotnet/x86": [
       "dotnet/x86": [
         "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
         "$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
       ],
       ],
       "aspnetcore/x64": [
       "aspnetcore/x64": [
-        "3.1.4"
+        "3.1.10"
       ]
       ]
     },
     },
     "Git": "2.22.0",
     "Git": "2.22.0",

+ 3 - 7
src/Installers/Windows/SharedFramework/SharedFramework.wixproj

@@ -3,10 +3,10 @@
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
 
 
   <PropertyGroup>
   <PropertyGroup>
+    <OutputNamePrefix>$(RuntimeInstallerBaseName)-</OutputNamePrefix>
+    <OutputNameSuffix>-win-$(Platform)</OutputNameSuffix>
     <ProductNameFolder>Microsoft ASP.NET Core Shared Framework</ProductNameFolder>
     <ProductNameFolder>Microsoft ASP.NET Core Shared Framework</ProductNameFolder>
     <ProductNameShort>AspNetCore.SharedFramework</ProductNameShort>
     <ProductNameShort>AspNetCore.SharedFramework</ProductNameShort>
-    <Name>AspNetCoreSharedFramework</Name>
-    <OutputName>$(Name)-$(Platform)</OutputName>
     <OutputType>Package</OutputType>
     <OutputType>Package</OutputType>
     <EmbedCab>yes</EmbedCab>
     <EmbedCab>yes</EmbedCab>
     <Cabinet>sfx_$(Platform).cab</Cabinet>
     <Cabinet>sfx_$(Platform).cab</Cabinet>
@@ -80,11 +80,7 @@
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
 
 
   <PropertyGroup>
   <PropertyGroup>
-    <!-- Everything built in this project _except_ the final package & MSI are shipping assets. -->
-    <_GeneratedPackageVersion>$(PackageVersion)</_GeneratedPackageVersion>
-    <_GeneratedPackageVersion
-        Condition="! $(PackageVersion.Contains('$(_PreReleaseLabel)'))">$(PackageVersion)-$(_PreReleaseLabel)$(_BuildNumberLabels)</_GeneratedPackageVersion>
-    <PackageFileName>$(RuntimeInstallerBaseName)-$(_GeneratedPackageVersion)-win-$(Platform)$(TargetExt)</PackageFileName>
+    <PackageFileName>$(OutputName)</PackageFileName>
     <ProductName>Microsoft ASP.NET Core $(PackageBrandingVersion) Shared Framework ($(Platform))</ProductName>
     <ProductName>Microsoft ASP.NET Core $(PackageBrandingVersion) Shared Framework ($(Platform))</ProductName>
     <DefineConstants>$(DefineConstants);ProductName=$(ProductName)</DefineConstants>
     <DefineConstants>$(DefineConstants);ProductName=$(ProductName)</DefineConstants>
   </PropertyGroup>
   </PropertyGroup>

+ 3 - 7
src/Installers/Windows/TargetingPack/TargetingPack.wixproj

@@ -3,10 +3,10 @@
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
 
 
   <PropertyGroup>
   <PropertyGroup>
+    <OutputNamePrefix>$(TargetingPackInstallerBaseName)-</OutputNamePrefix>
+    <OutputNameSuffix>-win-$(Platform)</OutputNameSuffix>
     <ProductNameFolder>Microsoft ASP.NET Core Targeting Pack</ProductNameFolder>
     <ProductNameFolder>Microsoft ASP.NET Core Targeting Pack</ProductNameFolder>
     <ProductNameShort>AspNetCore.TargetingPack</ProductNameShort>
     <ProductNameShort>AspNetCore.TargetingPack</ProductNameShort>
-    <Name>AspNetCoreTargetingPack</Name>
-    <OutputName>$(Name)-$(Platform)</OutputName>
     <OutputType>Package</OutputType>
     <OutputType>Package</OutputType>
     <IsShipping>true</IsShipping>
     <IsShipping>true</IsShipping>
     <SkipCopyToArtifactsDirectory Condition="'$(IsTargetingPackBuilding)' == 'false'">true</SkipCopyToArtifactsDirectory>
     <SkipCopyToArtifactsDirectory Condition="'$(IsTargetingPackBuilding)' == 'false'">true</SkipCopyToArtifactsDirectory>
@@ -70,12 +70,8 @@
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
   <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
 
 
   <PropertyGroup>
   <PropertyGroup>
-    <!-- Everything built in this project _except_ the final package are shipping assets. -->
-    <_GeneratedPackageVersion>$(PackageVersion)</_GeneratedPackageVersion>
-    <_GeneratedPackageVersion
-        Condition="! $(PackageVersion.Contains('$(_PreReleaseLabel)'))">$(PackageVersion)-$(_PreReleaseLabel)$(_BuildNumberLabels)</_GeneratedPackageVersion>
     <ProductName>Microsoft ASP.NET Core $(PackageBrandingVersion) Targeting Pack ($(Platform))</ProductName>
     <ProductName>Microsoft ASP.NET Core $(PackageBrandingVersion) Targeting Pack ($(Platform))</ProductName>
-    <PackageFileName>$(TargetingPackInstallerBaseName)-$(_GeneratedPackageVersion)-win-$(Platform)$(TargetExt)</PackageFileName>
+    <PackageFileName>$(OutputName)</PackageFileName>
     <DefineConstants>$(DefineConstants);ProductName=$(ProductName)</DefineConstants>
     <DefineConstants>$(DefineConstants);ProductName=$(ProductName)</DefineConstants>
 
 
     <!-- Suppresses building this project completely during servicing builds. -->
     <!-- Suppresses building this project completely during servicing builds. -->

+ 4 - 4
src/Installers/Windows/WindowsHostingBundle/thm.xml

@@ -61,10 +61,10 @@
         <Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
         <Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
     </Page>
     </Page>
     <Page Name="Success">
     <Page Name="Success">
-        <Text Name="SuccessHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
-        <Text Name="SuccessInstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessInstallHeader)</Text>
-        <Text Name="SuccessRepairHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRepairHeader)</Text> 	
-        <Text Name="SuccessUninstallHeader" X="11" Y="80" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessUninstallHeader)</Text> 
+        <Text Name="SuccessHeader" X="11" Y="80" Width="-11" Height="60" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessHeader)</Text>
+        <Text Name="SuccessInstallHeader" X="11" Y="80" Width="-11" Height="60" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessInstallHeader)</Text>
+        <Text Name="SuccessRepairHeader" X="11" Y="80" Width="-11" Height="60" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRepairHeader)</Text> 	
+        <Text Name="SuccessUninstallHeader" X="11" Y="80" Width="-11" Height="60" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessUninstallHeader)</Text> 
         <Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
         <Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
         <Text Name="SuccessRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
         <Text Name="SuccessRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.SuccessRestartText)</Text>
         <Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
         <Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>

+ 47 - 0
src/Razor/Microsoft.NET.Sdk.Razor/integrationtests/MvcBuildIntegrationTest22.cs

@@ -0,0 +1,47 @@
+// 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.
+
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Testing;
+
+namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
+{
+    public class MvcBuildIntegrationTest22 : MvcBuildIntegrationTestLegacy
+    {
+        public MvcBuildIntegrationTest22(LegacyBuildServerTestFixture buildServer)
+            : base(buildServer)
+        {
+        }
+
+        public override string TestProjectName => "SimpleMvc22";
+        public override string TargetFramework => "netcoreapp2.2";
+
+        [ConditionalFact]
+        [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)]
+        public async Task BuildProject_UsingDesktopMSBuild()
+        {
+            using var _ = CreateTestProject();
+
+            // Build
+            // This is a regression test for https://github.com/dotnet/aspnetcore/issues/28333. We're trying to ensure
+            // building in Desktop when DOTNET_HOST_PATH is not configured continues to work.
+            // Explicitly unset it to verify a value is not being picked up as an ambient value.
+            var result = await DotnetMSBuild("Build", args: "/p:DOTNET_HOST_PATH=", msBuildProcessKind: MSBuildProcessKind.Desktop);
+
+            Assert.BuildPassed(result);
+            Assert.FileExists(result, OutputPath, OutputFileName);
+            Assert.FileExists(result, OutputPath, $"{TestProjectName}.pdb");
+            Assert.FileExists(result, OutputPath, $"{TestProjectName}.Views.dll");
+            Assert.FileExists(result, OutputPath, $"{TestProjectName}.Views.pdb");
+
+            // Verify RazorTagHelper works
+            Assert.FileExists(result, IntermediateOutputPath, $"{TestProjectName}.TagHelpers.input.cache");
+            Assert.FileExists(result, IntermediateOutputPath, $"{TestProjectName}.TagHelpers.output.cache");
+            Assert.FileContains(
+                result,
+                Path.Combine(IntermediateOutputPath, $"{TestProjectName}.TagHelpers.output.cache"),
+                @"""Name"":""SimpleMvc.SimpleTagHelper""");
+        }
+    }
+}

+ 3 - 6
src/Razor/Microsoft.NET.Sdk.Razor/src/DotnetToolTask.cs

@@ -10,6 +10,7 @@ using System.Threading;
 using Microsoft.AspNetCore.Razor.Tools;
 using Microsoft.AspNetCore.Razor.Tools;
 using Microsoft.Build.Framework;
 using Microsoft.Build.Framework;
 using Microsoft.Build.Utilities;
 using Microsoft.Build.Utilities;
+using Microsoft.Extensions.CommandLineUtils;
 
 
 namespace Microsoft.AspNetCore.Razor.Tasks
 namespace Microsoft.AspNetCore.Razor.Tasks
 {
 {
@@ -40,7 +41,7 @@ namespace Microsoft.AspNetCore.Razor.Tasks
 
 
         public string PipeName { get; set; }
         public string PipeName { get; set; }
 
 
-        protected override string ToolName => Path.GetDirectoryName(DotNetPath);
+        protected override string ToolName => "dotnet";
 
 
         // If we're debugging then make all of the stdout gets logged in MSBuild
         // If we're debugging then make all of the stdout gets logged in MSBuild
         protected override MessageImportance StandardOutputLoggingImportance => DebugTool ? MessageImportance.High : base.StandardOutputLoggingImportance;
         protected override MessageImportance StandardOutputLoggingImportance => DebugTool ? MessageImportance.High : base.StandardOutputLoggingImportance;
@@ -60,11 +61,7 @@ namespace Microsoft.AspNetCore.Razor.Tasks
                     return _dotnetPath;
                     return _dotnetPath;
                 }
                 }
 
 
-                _dotnetPath = Environment.GetEnvironmentVariable("DOTNET_HOST_PATH");
-                if (string.IsNullOrEmpty(_dotnetPath))
-                {
-                    throw new InvalidOperationException("DOTNET_HOST_PATH is not set");
-                }
+                _dotnetPath = Environment.GetEnvironmentVariable("DOTNET_HOST_PATH") ?? ToolExe;
 
 
                 return _dotnetPath;
                 return _dotnetPath;
             }
             }

+ 1 - 0
src/Razor/test/testassets/RestoreTestProjects/RestoreTestProjects.csproj

@@ -5,6 +5,7 @@
 
 
   <ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\SimpleMvc21\SimpleMvc21.csproj" />
     <ProjectReference Include="..\SimpleMvc21\SimpleMvc21.csproj" />
+    <ProjectReference Include="..\SimpleMvc22\SimpleMvc22.csproj" />
     <ProjectReference Include="..\SimpleMvc31\SimpleMvc31.csproj" />
     <ProjectReference Include="..\SimpleMvc31\SimpleMvc31.csproj" />
     <ProjectReference Include="..\blazor31\blazor31.csproj" />
     <ProjectReference Include="..\blazor31\blazor31.csproj" />
     <ProjectReference Include="..\ClassLibraryMvc21\ClassLibraryMvc21.csproj" />
     <ProjectReference Include="..\ClassLibraryMvc21\ClassLibraryMvc21.csproj" />

+ 13 - 0
src/Razor/test/testassets/SimpleMvc22/Program.cs

@@ -0,0 +1,13 @@
+
+namespace SimpleMvc
+{
+    public class Program
+    {
+        public static void Main(string[] args)
+        {
+            // Just make sure we have a reference to MVC
+            var t = typeof(Microsoft.AspNetCore.Mvc.IActionResult);
+            System.Console.WriteLine(t.FullName);
+        }
+    }
+}

+ 33 - 0
src/Razor/test/testassets/SimpleMvc22/SimpleMvc22.csproj

@@ -0,0 +1,33 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <!--
+    This project references a shipped version of MVC and should not reference local builds of
+    the CodeGeneration targets, rzc, or any of the test shims.
+  -->
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp2.2</TargetFramework>
+    <CheckEolTargetFramework>false</CheckEolTargetFramework>
+    <RazorSdkDirectoryRoot>$(RazorSdkArtifactsDirectory)$(Configuration)\sdk-output\</RazorSdkDirectoryRoot>
+  </PropertyGroup>
+
+  <!-- Test Placeholder -->
+
+  <PropertyGroup Condition="'$(RunningAsTest)' == ''">
+    <!-- We don't want to run build server when not running as tests. -->
+    <UseRazorBuildServer>false</UseRazorBuildServer>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Microsoft.AspNetCore.App">
+      <!-- Avoid exporting types from real MVC that will conflict with the test shim -->
+      <PrivateAssets>All</PrivateAssets>
+    </PackageReference>
+
+     <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0">
+      <!-- Avoid exporting types from real MVC that will conflict with the test shim -->
+      <PrivateAssets>All</PrivateAssets>
+    </PackageReference>
+  </ItemGroup>
+
+</Project>

+ 8 - 0
src/Razor/test/testassets/SimpleMvc22/SimpleTagHelper.cs

@@ -0,0 +1,8 @@
+using Microsoft.AspNetCore.Razor.TagHelpers;
+
+namespace SimpleMvc
+{
+    public class SimpleTagHelper : TagHelper
+    {
+    }
+}

+ 10 - 0
src/Razor/test/testassets/SimpleMvc22/Views/Home/Index.cshtml

@@ -0,0 +1,10 @@
+@{
+    ViewData["Title"] = "Home Page";
+}
+
+<h2>
+    Learn how to build ASP.NET apps that can run anywhere.
+    <a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkID=525028&clcid=0x409">
+        Learn More
+    </a>
+</h2>

+ 25 - 0
src/Razor/test/testassets/SimpleMvc22/Views/Shared/_Layout.cshtml

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>@ViewData["Title"] - SimpleMvc</title>
+
+    <environment exclude="Development">
+        <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
+              asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
+              asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
+        <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
+    </environment>
+</head>
+<body>
+    <nav class="navbar navbar-inverse navbar-fixed-top">
+        <a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">SimpleMvc</a>
+    </nav>
+    <div class="container body-content">
+        @RenderBody()
+    </div>
+
+    @RenderSection("Scripts", required: false)
+</body>
+</html>

+ 4 - 0
src/Razor/test/testassets/SimpleMvc22/Views/_ViewImports.cshtml

@@ -0,0 +1,4 @@
+@using SimpleMvc
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@namespace SimpleMvc21
+@inject DateTime TheTime

+ 3 - 0
src/Razor/test/testassets/SimpleMvc22/Views/_ViewStart.cshtml

@@ -0,0 +1,3 @@
+@{
+    Layout = "_Layout";
+}

Некоторые файлы не были показаны из-за большого количества измененных файлов