<KnownRuntimePack>
<LatestRuntimeFrameworkVersion Condition="'%(TargetFramework)' == 'net6.0'">$(MicrosoftNETCoreApp60Version)</LatestRuntimeFrameworkVersion>
</KnownRuntimePack>
-
- <KnownFrameworkReference>
- <LatestRuntimeFrameworkVersion Condition="'%(TargetFramework)' == 'netcoreapp3.1'">$(MicrosoftNETCoreApp31Version)</LatestRuntimeFrameworkVersion>
- </KnownFrameworkReference>
- <KnownAppHostPack>
- <AppHostPackVersion Condition="'%(TargetFramework)' == 'netcoreapp3.1'">$(MicrosoftNETCoreApp31Version)</AppHostPackVersion>
- </KnownAppHostPack>
</ItemGroup>
</Target>
</Project>
\ No newline at end of file
echo Generating Version Header
set __GenerateVersionLog="%__LogDir%\GenerateVersion.binlog"
- powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__ProjectDir%\eng\common\msbuild.ps1" "%__ProjectDir%\eng\CreateVersionFile.csproj" /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /restore /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__ArtifactsIntermediatesDir%\_version.h %__CommonBuildArgs%
+ powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__ProjectDir%\eng\common\msbuild.ps1" "%__ProjectDir%\eng\CreateVersionFile.proj" /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /restore /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__ArtifactsIntermediatesDir%\_version.h %__CommonBuildArgs%
if not !errorlevel! == 0 (
echo Generate Version Header FAILED
goto ExitWithError
echo Generating Version Header
set __GenerateVersionLog="%__LogDir%\GenerateVersion.binlog"
- powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__ProjectDir%\eng\common\msbuild.ps1" "%__ProjectDir%\eng\CreateVersionFile.csproj" /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /restore /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__ArtifactsIntermediatesDir%\_version.h %__CommonBuildArgs%
+ powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__ProjectDir%\eng\common\msbuild.ps1" "%__ProjectDir%\eng\CreateVersionFile.proj" /bl:!__GenerateVersionLog! /t:GenerateVersionFiles /restore /p:FileVersionFile=%__RootBinDir%\bin\FileVersion.txt /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile=%__ArtifactsIntermediatesDir%\_version.h %__CommonBuildArgs%
if not !errorlevel! == 0 (
echo Generate Version Header FAILED
goto ExitWithError
REM Copy the native SOS binaries to where these tools expect for CI & VS testing
-set "__dotnet_sos=%__RootBinDir%\bin\dotnet-sos\%__BuildType%\netcoreapp3.1"
-set "__dotnet_dump=%__RootBinDir%\bin\dotnet-dump\%__BuildType%\netcoreapp3.1"
+set "__targetRid=net6.0"
+set "__dotnet_sos=%__RootBinDir%\bin\dotnet-sos\%__BuildType%\%__targetRid%"
+set "__dotnet_dump=%__RootBinDir%\bin\dotnet-dump\%__BuildType%\%__targetRid%"
mkdir %__dotnet_sos%\win-%__BuildArch%
mkdir %__dotnet_sos%\publish\win-%__BuildArch%
mkdir %__dotnet_dump%\win-%__BuildArch%
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
- </PropertyGroup>
-
- <Import Project="$(RepositoryEngineeringDir)\InstallRuntimes.proj" />
-</Project>
-
--- /dev/null
+<Project Sdk="Microsoft.Build.NoTargets">
+ <PropertyGroup>
+ <TargetFramework>netstandard2.0</TargetFramework>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <SkipGetTargetFrameworkProperties>false</SkipGetTargetFrameworkProperties>
+ </PropertyGroup>
+
+ <Import Project="$(RepositoryEngineeringDir)\InstallRuntimes.proj" />
+</Project>
+++ /dev/null
-<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
-<Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
- </PropertyGroup>
-
- <Target Name="GenerateVersionFiles" DependsOnTargets="GenerateVersionHeader;GenerateVersionSourceFile" />
-
- <Target Name="GenerateVersionHeader" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionHeaderFile)' != '' and '$(GenerateVersionHeader)' == 'true' and !Exists($(NativeVersionHeaderFile))">
-
- <Error Message="VersionSuffixDateStamp is missing" Condition="'$(VersionSuffixDateStamp)' == ''" />
-
- <PropertyGroup>
- <ProductVersion>$(FileVersion.Replace(".", ","))</ProductVersion>
- </PropertyGroup>
-
- <PropertyGroup>
- <NativeVersionLines>
-<![CDATA[
-#ifndef VER_COMPANYNAME_STR
-#define VER_COMPANYNAME_STR "Microsoft Corporation"
-#endif
-#ifndef VER_PRODUCTNAME_STR
-#define VER_PRODUCTNAME_STR "Microsoft\xae .NET Framework"
-#endif
-#undef VER_PRODUCTVERSION
-#define VER_PRODUCTVERSION $(ProductVersion)
-#undef VER_PRODUCTVERSION_STR
-#define VER_PRODUCTVERSION_STR "$(InformationalVersion)"
-#undef VER_FILEVERSION
-#define VER_FILEVERSION $(ProductVersion)
-#undef VER_FILEVERSION_STR
-#define VER_FILEVERSION_STR "$(FileVersion)"
-#ifndef VER_LEGALCOPYRIGHT_STR
-#define VER_LEGALCOPYRIGHT_STR "\xa9 Microsoft Corporation. All rights reserved."
-#endif
-]]>
- </NativeVersionLines>
- </PropertyGroup>
-
- <WriteLinesToFile File="$(NativeVersionHeaderFile)"
- Lines="$(NativeVersionLines.Replace(';', '%3B'))"
- Overwrite="true"
- WriteOnlyWhenDifferent="true" />
-
- <ItemGroup>
- <FileWrites Include="$(NativeVersionHeaderFile)" />
- </ItemGroup>
-
- <Message Importance="High" Text="Created version file $(NativeVersionHeaderFile)" />
- </Target>
-
- <!-- Non Windows versioning requires to generate a source file and include it on the compilation. -->
- <Target Name="GenerateVersionSourceFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionSourceFile)' != '' and '$(GenerateVersionSourceFile)' == 'true' and !Exists($(NativeVersionHeaderFile))">
-
- <!-- Get Username -->
- <PropertyGroup>
- <VersionUserName Condition="'$(VersionUserName)' == ''">$(USERNAME)</VersionUserName>
- </PropertyGroup>
-
- <Exec Command="whoami" Condition="'$(VersionUserName)' == ''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
- <Output TaskParameter="ConsoleOutput" PropertyName="VersionUserName" />
- </Exec>
-
- <!-- Get Hostname -->
- <PropertyGroup>
- <VersionHostName Condition="'$(VersionHostName)' == ''">$(COMPUTERNAME)</VersionHostName>
- </PropertyGroup>
-
- <Exec Command="hostname" Condition="'$(RunningOnUnix)'=='true' AND '$(VersionHostName)'==''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
- <Output TaskParameter="ConsoleOutput" PropertyName="VersionHostName" />
- </Exec>
-
- <PropertyGroup>
- <BuiltByString Condition="'$(VersionUserName)' != '' AND '$(VersionHostName)' != ''">$(BuiltByString) %40BuiltBy: $(VersionUserName)-$(VersionHostName)</BuiltByString>
- </PropertyGroup>
-
- <PropertyGroup>
- <!-- SOS (strike.cpp) has a dependency on this variable being public and that it begins with the @(#)Version prefix -->
- <NativeVersionLines>
-<![CDATA[
-char sccsid[] __attribute__((used)) = "@(#)Version $(InformationalVersion)$(BuiltByString)";
- ]]>
- </NativeVersionLines>
- </PropertyGroup>
-
- <WriteLinesToFile File="$(NativeVersionSourceFile)"
- Lines="$(NativeVersionLines.Replace(';', '%3B'))"
- Overwrite="true"
- WriteOnlyWhenDifferent="true" />
-
- <ItemGroup>
- <FileWrites Include="$(NativeVersionSourceFile)" />
- </ItemGroup>
-
- <Message Importance="High" Text="Created version file $(NativeVersionSourceFile)" />
- </Target>
-</Project>
--- /dev/null
+<!-- All Rights Reserved. Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. See the LICENSE file in the project root for more information. -->
+<Project Sdk="Microsoft.Build.NoTargets">
+ <PropertyGroup>
+ <TargetFramework>netstandard2.0</TargetFramework>
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+ <SkipGetTargetFrameworkProperties>false</SkipGetTargetFrameworkProperties>
+ </PropertyGroup>
+
+ <Target Name="GenerateVersionFiles" DependsOnTargets="GenerateVersionHeader;GenerateVersionSourceFile" />
+
+ <Target Name="GenerateVersionHeader" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionHeaderFile)' != '' and '$(GenerateVersionHeader)' == 'true' and !Exists($(NativeVersionHeaderFile))">
+
+ <Error Message="VersionSuffixDateStamp is missing" Condition="'$(VersionSuffixDateStamp)' == ''" />
+
+ <PropertyGroup>
+ <ProductVersion>$(FileVersion.Replace(".", ","))</ProductVersion>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <NativeVersionLines>
+<![CDATA[
+#ifndef VER_COMPANYNAME_STR
+#define VER_COMPANYNAME_STR "Microsoft Corporation"
+#endif
+#ifndef VER_PRODUCTNAME_STR
+#define VER_PRODUCTNAME_STR "Microsoft\xae .NET Framework"
+#endif
+#undef VER_PRODUCTVERSION
+#define VER_PRODUCTVERSION $(ProductVersion)
+#undef VER_PRODUCTVERSION_STR
+#define VER_PRODUCTVERSION_STR "$(InformationalVersion)"
+#undef VER_FILEVERSION
+#define VER_FILEVERSION $(ProductVersion)
+#undef VER_FILEVERSION_STR
+#define VER_FILEVERSION_STR "$(FileVersion)"
+#ifndef VER_LEGALCOPYRIGHT_STR
+#define VER_LEGALCOPYRIGHT_STR "\xa9 Microsoft Corporation. All rights reserved."
+#endif
+]]>
+ </NativeVersionLines>
+ </PropertyGroup>
+
+ <WriteLinesToFile File="$(NativeVersionHeaderFile)"
+ Lines="$(NativeVersionLines.Replace(';', '%3B'))"
+ Overwrite="true"
+ WriteOnlyWhenDifferent="true" />
+
+ <ItemGroup>
+ <FileWrites Include="$(NativeVersionHeaderFile)" />
+ </ItemGroup>
+
+ <Message Importance="High" Text="Created version file $(NativeVersionHeaderFile)" />
+ </Target>
+
+ <!-- Non Windows versioning requires to generate a source file and include it on the compilation. -->
+ <Target Name="GenerateVersionSourceFile" DependsOnTargets="GetAssemblyVersion;AddSourceRevisionToInformationalVersion" Condition="'$(NativeVersionSourceFile)' != '' and '$(GenerateVersionSourceFile)' == 'true' and !Exists($(NativeVersionHeaderFile))">
+
+ <!-- Get Username -->
+ <PropertyGroup>
+ <VersionUserName Condition="'$(VersionUserName)' == ''">$(USERNAME)</VersionUserName>
+ </PropertyGroup>
+
+ <Exec Command="whoami" Condition="'$(VersionUserName)' == ''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
+ <Output TaskParameter="ConsoleOutput" PropertyName="VersionUserName" />
+ </Exec>
+
+ <!-- Get Hostname -->
+ <PropertyGroup>
+ <VersionHostName Condition="'$(VersionHostName)' == ''">$(COMPUTERNAME)</VersionHostName>
+ </PropertyGroup>
+
+ <Exec Command="hostname" Condition="'$(RunningOnUnix)'=='true' AND '$(VersionHostName)'==''" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
+ <Output TaskParameter="ConsoleOutput" PropertyName="VersionHostName" />
+ </Exec>
+
+ <PropertyGroup>
+ <BuiltByString Condition="'$(VersionUserName)' != '' AND '$(VersionHostName)' != ''">$(BuiltByString) %40BuiltBy: $(VersionUserName)-$(VersionHostName)</BuiltByString>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- SOS (strike.cpp) has a dependency on this variable being public and that it begins with the @(#)Version prefix -->
+ <NativeVersionLines>
+<![CDATA[
+char sccsid[] __attribute__((used)) = "@(#)Version $(InformationalVersion)$(BuiltByString)";
+ ]]>
+ </NativeVersionLines>
+ </PropertyGroup>
+
+ <WriteLinesToFile File="$(NativeVersionSourceFile)"
+ Lines="$(NativeVersionLines.Replace(';', '%3B'))"
+ Overwrite="true"
+ WriteOnlyWhenDifferent="true" />
+
+ <ItemGroup>
+ <FileWrites Include="$(NativeVersionSourceFile)" />
+ </ItemGroup>
+
+ <Message Importance="High" Text="Created version file $(NativeVersionSourceFile)" />
+ </Target>
+</Project>
$(MicrosoftAspNetCoreAppRefVersion) - latest dotnet aspnetcore stable version (the version that actually is installed)
$(MicrosoftNETCoreApp60Version) $(MicrosoftAspNetCoreApp60Version) - 6.0 version
- $(MicrosoftNETCoreApp31Version) $(MicrosoftAspNetCoreApp31Version) - 3.1 version
$(SingleFileRuntimeLatestVersion) - The latest version of the runtime used to build single-file apps
$(SingleFileRuntime60Version) - The 6.0.x version of the runtime used to build single-file apps
<ItemGroup Condition="!$(InternalReleaseTesting) and !$(PrivateBuildTesting)">
<TestVersions Include="Latest" RuntimeVersion="$(VSRedistCommonNetCoreSharedFrameworkx6470Version)" AspNetVersion="$(MicrosoftAspNetCoreAppRefInternalVersion)" />
<TestVersions Include="60" RuntimeVersion="$(MicrosoftNETCoreApp60Version)" AspNetVersion="$(MicrosoftAspNetCoreApp60Version)" />
- <TestVersions Include="31" RuntimeVersion="$(MicrosoftNETCoreApp31Version)" AspNetVersion="$(MicrosoftAspNetCoreApp31Version)" Condition="$(Enable31Testing)" />
</ItemGroup>
<!-- Local private build testing -->
Outputs="$(TestConfigFileName)">
<PropertyGroup Condition="'$(PrivateBuildTesting)' != 'true' AND '$(InternalReleaseTesting)' != 'true'">
- <RuntimeVersion31 Condition="$(Enable31Testing)">$(MicrosoftNETCoreApp31Version)</RuntimeVersion31>
- <AspNetCoreVersion31 Condition="$(Enable31Testing)">$(MicrosoftAspNetCoreApp31Version)</AspNetCoreVersion31>
-
<RuntimeVersion60>$(MicrosoftNETCoreApp60Version)</RuntimeVersion60>
<AspNetCoreVersion60>$(MicrosoftAspNetCoreApp60Version)</AspNetCoreVersion60>
+ <!-- TODO: Add others -->
</PropertyGroup>
<PropertyGroup>
<IgnorePatterns>
<UsagePattern IdentityGlob="Microsoft.SourceBuild.Intermediate.*" />
</IgnorePatterns>
-</UsageData>
+</UsageData>
\ No newline at end of file
</PropertyGroup>
<PropertyGroup>
<!-- Runtime versions to test -->
- <MicrosoftNETCoreApp31Version>3.1.28</MicrosoftNETCoreApp31Version>
- <MicrosoftAspNetCoreApp31Version>$(MicrosoftNETCoreApp31Version)</MicrosoftAspNetCoreApp31Version>
<MicrosoftNETCoreApp60Version>6.0.8</MicrosoftNETCoreApp60Version>
<MicrosoftAspNetCoreApp60Version>$(MicrosoftNETCoreApp60Version)</MicrosoftAspNetCoreApp60Version>
<!-- The SDK runtime version used to build single-file apps (currently hardcoded) -->
# Remove the private build registry keys
if ($cleanupprivatebuild) {
- Invoke-Expression "& `"$engroot\common\msbuild.ps1`" $engroot\CleanupPrivateBuild.csproj /v:$verbosity /t:CleanupPrivateBuild /p:BuildArch=$architecture /p:TestArchitectures=$architecture"
+ Invoke-Expression "& `"$engroot\common\msbuild.ps1`" $engroot\CleanupPrivateBuild.proj /v:$verbosity /t:CleanupPrivateBuild /p:BuildArch=$architecture /p:TestArchitectures=$architecture"
exit $lastExitCode
}
__GenerateVersionLog="$__LogsDir/GenerateVersion.binlog"
"$__RepoRootDir/eng/common/msbuild.sh" \
- $__RepoRootDir/eng/CreateVersionFile.csproj \
+ $__RepoRootDir/eng/CreateVersionFile.proj \
/bl:$__GenerateVersionLog \
/t:GenerateVersionFiles \
/restore \
#
if [[ "$__NativeBuild" == 1 || "$__Test" == 1 ]]; then
- __dotnet_sos=$__RootBinDir/bin/dotnet-sos/$__BuildType/netcoreapp3.1/publish/$__DistroRid
- __dotnet_dump=$__RootBinDir/bin/dotnet-dump/$__BuildType/netcoreapp3.1/publish/$__DistroRid
+ __targetRid=net6.0
+ __dotnet_sos=$__RootBinDir/bin/dotnet-sos/$__BuildType/$__targetRid/publish/$__DistroRid
+ __dotnet_dump=$__RootBinDir/bin/dotnet-dump/$__BuildType/$__targetRid/publish/$__DistroRid
mkdir -p "$__dotnet_sos"
mkdir -p "$__dotnet_dump"
+++ /dev/null
-# We depend on a local cli for a number of our buildtool
-# commands like init-tools so for now we need to disable
-# using the globally installed dotnet
-
-$script:useInstalledDotNetCli = $false
-
-# Always use the local repo packages directory instead of
-# the user's NuGet cache
-#$script:useGlobalNuGetCache = $false
-
-# Working around issue https://github.com/dotnet/arcade/issues/2673
-$script:DisableNativeToolsetInstalls = $true
+++ /dev/null
-# We depend on a local cli for a number of our buildtool
-# commands like init-tools so for now we need to disable
-# using the globally installed dotnet
-
-use_installed_dotnet_cli=false
-
-# Always use the local repo packages directory instead of
-# the user's NuGet cache
-#use_global_nuget_cache=false
-
-# Working around issue https://github.com/dotnet/arcade/issues/2673
-DisableNativeToolsetInstalls=true
{
"tools": {
- "dotnet": "7.0.100",
+ "dotnet": "7.0.101",
"runtimes": {
"dotnet/x64": [
- "$(MicrosoftNETCoreApp31Version)",
"$(MicrosoftNETCoreApp60Version)",
"$(VSRedistCommonNetCoreSharedFrameworkx6470Version)"
],
"dotnet/x86": [
- "$(MicrosoftNETCoreApp31Version)",
"$(MicrosoftNETCoreApp60Version)",
"$(VSRedistCommonNetCoreSharedFrameworkx6470Version)"
],
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Library</OutputType>
- <TargetFrameworks>netstandard2.0;netcoreapp3.1</TargetFrameworks>
+ <TargetFrameworks Condition="'$(DotNetBuildFromSource)' != 'true'">netstandard2.0;net6.0</TargetFrameworks>
+ <TargetFramework Condition="'$(DotNetBuildFromSource)' == 'true'">netstandard2.0</TargetFramework>
<RootNamespace>Microsoft.Diagnostics.NETCore.Client</RootNamespace>
<Description>.NET Core Diagnostics Client Library</Description>
<VersionPrefix>0.2.0</VersionPrefix>
using System;
using System.IO;
using System.IO.Compression;
-using System.Net;
+using System.Net.Http;
using System.Threading.Tasks;
using Xunit.Abstractions;
async static Task DownloadFile(string remotePath, string localPath, ITestOutputHelper output)
{
output.WriteLine("Downloading: " + remotePath + " -> " + localPath);
+ using HttpClient client = new ();
+ using HttpResponseMessage response = await client.GetAsync(remotePath);
+ response.EnsureSuccessStatusCode();
+ using Stream stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
Directory.CreateDirectory(Path.GetDirectoryName(localPath));
- WebRequest request = HttpWebRequest.Create(remotePath);
- WebResponse response = await request.GetResponseAsync();
- using (FileStream localZipStream = File.OpenWrite(localPath))
- {
- // TODO: restore the CopyToAsync code after System.Net.Http.dll is
- // updated to a newer version. The current old version has a bug
- // where the copy never finished.
- // await response.GetResponseStream().CopyToAsync(localZipStream);
- byte[] buffer = new byte[16 * 1024];
- long bytesLeft = response.ContentLength;
-
- while (bytesLeft > 0)
- {
- int read = response.GetResponseStream().Read(buffer, 0, buffer.Length);
- if (read == 0)
- break;
- localZipStream.Write(buffer, 0, read);
- bytesLeft -= read;
- }
- output.WriteLine("Downloading finished");
- }
+ using FileStream localZipStream = File.OpenWrite(localPath);
+ // TODO: restore the CopyToAsync code after System.Net.Http.dll is
+ // updated to a newer version. The current old version has a bug
+ // where the copy never finished.
+ await stream.CopyToAsync(localZipStream);
+ output.WriteLine("Downloading finished");
}
async static Task UnGZip(string gzipPath, string expandedFilePath, ITestOutputHelper output)
protected override string GetFramework(TestConfiguration config)
{
- return config.BuildProjectFramework ?? "netcoreapp3.1";
+ return config.BuildProjectFramework ?? "net6.0";
}
protected override string GetDebuggeeBinaryDirPath(string debuggeeProjectDirPath, string framework, string runtime)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>;1591;1701</NoWarn>
<IsTestProject>false</IsTestProject>
<TestWebApp3 Condition="'$(InternalReleaseTesting)' == 'true'">false</TestWebApp3>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '7')">net7.0</BuildProjectFrameworkLatest>
- <BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '5')">net5.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '6')">net6.0</BuildProjectFrameworkLatest>
- <BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '3.1')">netcoreapp3.1</BuildProjectFrameworkLatest>
<DebuggeeSourceRoot>$(RepoRootDir)/src/SOS/SOS.UnitTests/Debuggees</DebuggeeSourceRoot>
<DebuggeeMsbuildAuxRoot>$(RepoRootDir)/eng/AuxMsbuildFiles</DebuggeeMsbuildAuxRoot>
<BuildProjectFramework>net6.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
</Option>
- <Option Condition="'$(RuntimeVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- <SetHostRuntime>$(DotNetRoot)/shared/Microsoft.NETCore.App/$(RuntimeFrameworkVersion)</SetHostRuntime>
- </Option>
<!--
SOS.StackAndOtherTests (cli because tested with embedded, portable PDBs and single-file)
-->
<BuildProjectFramework>net6.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
</Option>
- <Option Condition="'$(RuntimeVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- </Option>
</Options>
</Option>
<!--
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
<FrameworkVersion>$(AspNetCoreVersion60)</FrameworkVersion>
</Option>
- <Option Condition="'$(AspNetCoreVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- <FrameworkVersion>$(AspNetCoreVersion31)</FrameworkVersion>
- </Option>
</Options>
</Option>
</Options>
</Options>
<DotNetDumpHost>$(DotNetRoot)/dotnet</DotNetDumpHost>
- <DotNetDumpPath>$(RootBinDir)/bin/dotnet-dump/$(TargetConfiguration)/netcoreapp3.1/publish/dotnet-dump.dll</DotNetDumpPath>
+ <DotNetDumpPath>$(RootBinDir)/bin/dotnet-dump/$(TargetConfiguration)/net6.0/publish/dotnet-dump.dll</DotNetDumpPath>
<DebuggeeDumpOutputRootDir>$(DumpDir)/$(TestProduct)/$(RuntimeFrameworkVersion)/$(BuildProjectFramework)</DebuggeeDumpOutputRootDir>
<DebuggeeDumpInputRootDir>$(DebuggeeDumpOutputRootDir)</DebuggeeDumpInputRootDir>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '7')">net7.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '6')">net6.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '5')">net5.0</BuildProjectFrameworkLatest>
- <BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '3.1')">netcoreapp3.1</BuildProjectFrameworkLatest>
<DesktopFrameworkPath Condition="$(TargetArchitecture) == x64">$(WinDir)\Microsoft.Net\Framework64\v4.0.30319\</DesktopFrameworkPath>
<DesktopFrameworkPath Condition="$(TargetArchitecture) != x64">$(WinDir)\Microsoft.Net\Framework\v4.0.30319\</DesktopFrameworkPath>
<BuildProjectFramework>net6.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
</Option>
- <Option Condition="'$(RuntimeVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- <SetHostRuntime>$(DotNetRoot)/shared/Microsoft.NETCore.App/$(RuntimeFrameworkVersion)</SetHostRuntime>
- </Option>
<!--
SOS.StackAndOtherTests (cli because tested with full, embedded and portable PDBs)
-->
<BuildProjectFramework>net6.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
</Option>
- <Option Condition="'$(RuntimeVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- </Option>
</Options>
</Option>
<!--
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
<FrameworkVersion>$(AspNetCoreVersion60)</FrameworkVersion>
</Option>
- <Option Condition="'$(AspNetCoreVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- <FrameworkVersion>$(AspNetCoreVersion31)</FrameworkVersion>
- </Option>
</Options>
</Option>
</Options>
<SOSPath>$(InstallDir)\sos.dll</SOSPath>
<DotNetDumpHost>$(DotNetRoot)\dotnet.exe</DotNetDumpHost>
- <DotNetDumpPath>$(RootBinDir)\bin\dotnet-dump\$(TargetConfiguration)\netcoreapp3.1\publish\dotnet-dump.dll</DotNetDumpPath>
+ <DotNetDumpPath>$(RootBinDir)\bin\dotnet-dump\$(TargetConfiguration)\net6.0\publish\dotnet-dump.dll</DotNetDumpPath>
<DebuggeeDumpOutputRootDir>$(DumpDir)\$(TestProduct)\$(RuntimeFrameworkVersion)\$(BuildProjectFramework)</DebuggeeDumpOutputRootDir>
<DebuggeeDumpInputRootDir>$(DebuggeeDumpOutputRootDir)</DebuggeeDumpInputRootDir>
</Configuration>
target_link_libraries(DesktopClrHost ${DESKTOPCLRHOST_LIBRARY})
-install(TARGETS DesktopClrHost DESTINATION ${CLR_MANAGED_BINARY_DIR}/WebApp3/${CLR_BUILD_TYPE}/netcoreapp3.1)
install(TARGETS DesktopClrHost DESTINATION ${CLR_MANAGED_BINARY_DIR}/WebApp3/${CLR_BUILD_TYPE}/net6.0)
install(TARGETS DesktopClrHost DESTINATION ${CLR_MANAGED_BINARY_DIR}/WebApp3/${CLR_BUILD_TYPE}/net7.0)
<DebugType Condition="'$(TargetFramework)' == 'net462'">full</DebugType>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>false</Optimize>
- <BuildTargetFrameworks>netcoreapp3.1;net6.0;net7.0</BuildTargetFrameworks>
+ <BuildTargetFrameworks>net6.0;net7.0</BuildTargetFrameworks>
</PropertyGroup>
</Project>
{
// This list is in probing order.
constexpr RuntimeVersion SupportedHostRuntimeVersions[] = {
+ {7, 0},
{6, 0},
-#if !(defined(HOST_OSX) && defined(HOST_ARM64))
- {3, 1},
- {5, 0},
-#endif
- {7, 0}
+ {8, 0}
};
constexpr char DotnetRootEnvVar[] = "DOTNET_ROOT";
"/usr/local/share/dotnet"
#else
"/rh-dotnet60/root/usr/bin/dotnet",
- "/rh-dotnet31/root/usr/bin/dotnet",
- "/rh-dotnet50/root/usr/bin/dotnet",
"/rh-dotnet70/root/usr/bin/dotnet",
+ "/rh-dotnet80/root/usr/bin/dotnet",
"/usr/share/dotnet",
#endif
};
// assembly version than the ones in the ones in the framework. The test could just
// have a list of assemblies we pack with the versions, and if we end up using a newer assembly
// fail the test and point to update this list.
- if (hostRuntimeVersion.Major < 5)
- {
- AddFileToTpaList(directory, "System.Collections.Immutable.dll", tpaList);
- AddFileToTpaList(directory, "System.Reflection.Metadata.dll", tpaList);
- AddFileToTpaList(directory, "System.Runtime.CompilerServices.Unsafe.dll", tpaList);
- }
+ //
+ // There's currently no DLLs SOS requires that are of a higher version than those provided by
+ // the supported host frameworks. In case it's needed, add: a section here before AddFilesFromDirectoryToTpaList.
+ //
+ // if (hostRuntimeVersion.Major < 5)
+ // {
+ // AddFileToTpaList(directory, "System.Collections.Immutable.dll", tpaList);
+ // ...
+ // }
// Trust the runtime assemblies that are newer than the ones needed and provided by SOS's managed
// components.
return true;
}
+
return false;
}
if (hostRuntimeVersion.Major == 0)
{
- TraceError("Error: Failed to find runtime directory within %s\n", hostRuntimeDirectory.c_str());
+ TraceError("Error: Failed to find a supported runtime within %s\n", hostRuntimeDirectory.c_str());
return E_FAIL;
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFrameworks>netcoreapp3.1</TargetFrameworks>
+ <TargetFrameworks>net6.0</TargetFrameworks>
</PropertyGroup>
</Project>
<Choose>
<When Condition="'$(BundleTools)' == 'true'">
<PropertyGroup>
+ <IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
<SelfContained>false</SelfContained>
<PublishDir>$(BundledToolsPath)$(Configuration)\$(RuntimeIdentifier)\</PublishDir>
<PublishSingleFile>true</PublishSingleFile>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ToolCommandName>dotnet-counters</ToolCommandName>
<RootNamespace>Microsoft.Diagnostics.Tools.Counters</RootNamespace>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ToolCommandName>dotnet-dump</ToolCommandName>
<RootNamespace>Microsoft.Diagnostic.Tools.Dump</RootNamespace>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<RootNamespace>Microsoft.Diagnostics.Tools.GCDump</RootNamespace>
<ToolCommandName>dotnet-gcdump</ToolCommandName>
<Description>.NET Managed Heap Dump and Analysis Tool</Description>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<ToolCommandName>dotnet-sos</ToolCommandName>
<RootNamespace>Microsoft.Diagnostics.Tools.SOS</RootNamespace>
<Description>Diagnostic SOS installer</Description>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<RootNamespace>Microsoft.Diagnostics.Tools.Stack</RootNamespace>
<ToolCommandName>dotnet-stack</ToolCommandName>
<Description>.NET Stack Printing Tool</Description>
}
int n = nodesToReport.Count;
- int maxDigit = n.ToString().Count();
+ int maxDigit = (int) Math.Log10(n) + 1;
string extra = new string(' ', maxDigit - 1);
string header = "Top " + n.ToString() + " Functions (" + measureType + ")";
for(int i = 0; i < n; i++)
{
- int iLength = (i+1).ToString().Count();
+ int iLength = (int) Math.Log10(i + 1) + 1;
int numSpace = maxDigit - iLength + 1;
CallTreeNodeBase node = nodesToReport[i];
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<RootNamespace>Microsoft.Diagnostics.Tools.Trace</RootNamespace>
<ToolCommandName>dotnet-trace</ToolCommandName>
<Description>.NET Performance Trace Tool</Description>
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
- <SupportedRids>win-x64;win-x86;win-arm;win-arm64;linux-x64;linux-musl-arm64;osx-x64;linux-arm64;linux-musl-x64;linux-arm</SupportedRids>
+ <TargetFramework>net6.0</TargetFramework>
+ <SupportedRids>win-x64;win-x86;win-arm;win-arm64;linux-x64;linux-musl-arm64;osx-x64;osx-arm64;linux-arm64;linux-musl-x64;linux-arm</SupportedRids>
<ArcadeSdkMSBuildProjectDir>$([System.IO.Path]::GetDirectoryName('$(ArcadeSdkBuildTasksAssembly)'))\..\</ArcadeSdkMSBuildProjectDir>
<ArcadeSdkSignProject>$(ArcadeSdkMSBuildProjectDir)Sign.proj</ArcadeSdkSignProject>
<BundledToolsZipDirectory>$(BundledToolsPath)$(Configuration)/zips/</BundledToolsZipDirectory>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
<CommonTestRunnerConfigFileName>$(OutputPath)$(TargetFramework)\Debugger.Tests.Common.txt</CommonTestRunnerConfigFileName>
</PropertyGroup>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '7')">net7.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '6')">net6.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '5')">net5.0</BuildProjectFrameworkLatest>
- <BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '3.1')">netcoreapp3.1</BuildProjectFrameworkLatest>
<TestProduct>ProjectK</TestProduct>
<DebuggeeSourceRoot>$(RepoRootDir)/src/tests</DebuggeeSourceRoot>
<BuildProjectFramework>net6.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
</Option>
- <Option Condition="'$(RuntimeVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- </Option>
</Options>
<!-- Single-file debuggees don't need the host -->
<HostArgs Condition="'$(PublishSingleFile)' != 'true'">--fx-version $(RuntimeFrameworkVersion)</HostArgs>
<DotNetTraceHost>$(DotNetRoot)/dotnet</DotNetTraceHost>
- <DotNetTracePath>$(RootBinDir)/bin/dotnet-trace/$(TargetConfiguration)/netcoreapp3.1/dotnet-trace.dll</DotNetTracePath>
+ <DotNetTracePath>$(RootBinDir)/bin/dotnet-trace/$(TargetConfiguration)/net6.0/dotnet-trace.dll</DotNetTracePath>
</Configuration>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '7')">net7.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '6')">net6.0</BuildProjectFrameworkLatest>
<BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '5')">net5.0</BuildProjectFrameworkLatest>
- <BuildProjectFrameworkLatest Condition="StartsWith('$(RuntimeVersionLatest)', '3.1')">netcoreapp3.1</BuildProjectFrameworkLatest>
<TestProduct>ProjectK</TestProduct>
<DebuggeeSourceRoot>$(RepoRootDir)\src\tests</DebuggeeSourceRoot>
<BuildProjectFramework>net6.0</BuildProjectFramework>
<RuntimeFrameworkVersion>$(RuntimeVersion60)</RuntimeFrameworkVersion>
</Option>
- <Option Condition="'$(RuntimeVersion31)' != ''">
- <BuildProjectFramework>netcoreapp3.1</BuildProjectFramework>
- <RuntimeFrameworkVersion>$(RuntimeVersion31)</RuntimeFrameworkVersion>
- </Option>
</Options>
<!-- Single-file debuggees don't need the host -->
<HostArgs Condition="'$(PublishSingleFile)' != 'true'">--fx-version $(RuntimeFrameworkVersion)</HostArgs>
<DotNetTraceHost>$(DotNetRoot)\dotnet.exe</DotNetTraceHost>
- <DotNetTracePath>$(RootBinDir)\bin\dotnet-trace\$(TargetConfiguration)\netcoreapp3.1\dotnet-trace.dll</DotNetTracePath>
+ <DotNetTracePath>$(RootBinDir)\bin\dotnet-trace\$(TargetConfiguration)\net6.0\dotnet-trace.dll</DotNetTracePath>
</Configuration>
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
<PropertyGroup>
<BuildArch Condition="'$(BuildArch)' == ''">$(Platform)</BuildArch>
<BuildArch Condition="'$(BuildArch)' == 'AnyCpu'">$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant)</BuildArch>
-
- <!-- Don't run any unit tests on .NET Core 3.1 on arm64. MacOS M1 doesn't have a 3.1 SDK -->
- <Enable31Testing>true</Enable31Testing>
- <Enable31Testing Condition="'$(BuildArch)' == 'arm64'">false</Enable31Testing>
-
- <UnitTestTargetFrameworks Condition="$(Enable31Testing)">netcoreapp3.1;net6.0;net7.0</UnitTestTargetFrameworks>
- <UnitTestTargetFrameworks Condition="!$(Enable31Testing)">net6.0;net7.0</UnitTestTargetFrameworks>
+ <UnitTestTargetFrameworks>net6.0;net7.0</UnitTestTargetFrameworks>
</PropertyGroup>
</Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework Condition="'$(BuildProjectFramework)' != ''">$(BuildProjectFramework)</TargetFramework>
- <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">netcoreapp3.1;net6.0;net7.0</TargetFrameworks>
+ <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">net6.0;net7.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework Condition="'$(BuildProjectFramework)' != ''">$(BuildProjectFramework)</TargetFramework>
- <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">netcoreapp3.1;net6.0;net7.0</TargetFrameworks>
+ <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">net6.0;net7.0</TargetFrameworks>
</PropertyGroup>
</Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework Condition="'$(BuildProjectFramework)' != ''">$(BuildProjectFramework)</TargetFramework>
- <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">netcoreapp3.1;net6.0;net7.0</TargetFrameworks>
+ <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">net6.0;net7.0</TargetFrameworks>
</PropertyGroup>
</Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework Condition="'$(BuildProjectFramework)' != ''">$(BuildProjectFramework)</TargetFramework>
- <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">netcoreapp3.1;net6.0;net7.0</TargetFrameworks>
+ <TargetFrameworks Condition="'$(BuildProjectFramework)' == ''">net6.0;net7.0</TargetFrameworks>
</PropertyGroup>
</Project>
<PropertyGroup>
<OutputType>Exe</OutputType>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>