diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index a42011c11afee..6a9434e20ae72 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "8.0.0-prerelease.24229.2", + "version": "8.0.0-prerelease.24480.1", "commands": [ "xharness" ] diff --git a/.config/tsaoptions.json b/.config/tsaoptions.json index d940cdd8a5a90..de886ee530e7c 100644 --- a/.config/tsaoptions.json +++ b/.config/tsaoptions.json @@ -2,9 +2,10 @@ "instanceUrl": "https://devdiv.visualstudio.com/", "template": "TFSDEVDIV", "projectName": "DEVDIV", - "areaPath": "DevDiv\\NET Libraries", + "areaPath": "DevDiv\\NET Runtime", "iterationPath": "DevDiv", "notificationAliases": [ "runtimerepo-infra@microsoft.com" ], "repositoryName": "Runtime", - "codebaseName": "Runtime" -} \ No newline at end of file + "codebaseName": "Runtime", + "serviceTreeId": "1dc8dedc-8f5f-4b94-b182-ec3bdfb207b0" +} diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cc06da8dead3a..d5701f45f965e 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -104,9 +104,9 @@ fe3794a68bd668d36d4d5014a9e6c9d22c0e6d86 - + https://github.com/dotnet/source-build-externals - fb970eccb0a9cae3092464e29cbabda0d4115049 + d4feb7e49067fc9bbf7dfb9fa76a326c33fa0595 @@ -185,57 +185,57 @@ https://github.com/dotnet/arcade e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de https://github.com/dotnet/llvm-project @@ -322,17 +322,17 @@ https://github.com/dotnet/runtime edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/xharness - aacfb6328fdef17e572617bbb551431bb9cb1ff2 + 2195e37696de37d2c2b0f83d73f49c96d9b584de - + https://github.com/dotnet/xharness - aacfb6328fdef17e572617bbb551431bb9cb1ff2 + 2195e37696de37d2c2b0f83d73f49c96d9b584de - + https://github.com/dotnet/xharness - aacfb6328fdef17e572617bbb551431bb9cb1ff2 + 2195e37696de37d2c2b0f83d73f49c96d9b584de https://github.com/dotnet/arcade @@ -354,13 +354,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 67613417f5e1af250e6ddfba79f8f2885d8e90fb - + https://github.com/dotnet/hotreload-utils - 5339e12def2a3605d069c429840089ae27838728 + ef1f3313ca21d4eb766aefc48ea243421be2643f - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index 694153069a36a..5faf5f839ef76 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -145,20 +145,20 @@ 4.5.0 8.0.0-rc.1.23406.6 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 - 8.0.0-beta.24362.2 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 + 8.0.0-beta.24510.3 1.0.0-prerelease.23566.3 1.0.0-prerelease.23566.3 @@ -185,10 +185,10 @@ 1.1.0 17.4.0-preview-20220707-01 - 8.0.0-prerelease.24229.2 - 8.0.0-prerelease.24229.2 - 8.0.0-prerelease.24229.2 - 8.0.0-alpha.0.24453.2 + 8.0.0-prerelease.24480.1 + 8.0.0-prerelease.24480.1 + 8.0.0-prerelease.24480.1 + 8.0.0-alpha.0.24514.2 2.4.2 1.0.0 2.4.5 diff --git a/eng/build.ps1 b/eng/build.ps1 index 67440febafd5c..ec5df9504a116 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -11,7 +11,7 @@ Param( [switch]$coverage, [string]$testscope, [switch]$testnobuild, - [ValidateSet("x86","x64","arm","arm64","wasm")][string[]][Alias('a')]$arch = @([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()), + [ValidateSet("x86","x64","arm","arm64","wasm")][string[]][Alias('a')]$arch = @([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant()), [Parameter(Position=0)][string][Alias('s')]$subset, [ValidateSet("Debug","Release","Checked")][string][Alias('rc')]$runtimeConfiguration, [ValidateSet("Debug","Release")][string][Alias('lc')]$librariesConfiguration, diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake index 0e6ee88b245eb..1882ceb68ffce 100644 --- a/eng/native/configurecompiler.cmake +++ b/eng/native/configurecompiler.cmake @@ -945,7 +945,11 @@ if (CLR_CMAKE_HOST_WIN32) elseif(CLR_CMAKE_HOST_ARCH_ARM64) # Explicitly specify the assembler to be used for Arm64 compile - file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}\\bin\\HostX86\\arm64\\armasm64.exe" CMAKE_ASM_COMPILER) + if (CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") + file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}\\bin\\Hostarm64\\arm64\\armasm64.exe" CMAKE_ASM_COMPILER) + else() + file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}\\bin\\HostX64\\arm64\\armasm64.exe" CMAKE_ASM_COMPILER) + endif() set(CMAKE_ASM_MASM_COMPILER ${CMAKE_ASM_COMPILER}) message("CMAKE_ASM_MASM_COMPILER explicitly set to: ${CMAKE_ASM_MASM_COMPILER}") diff --git a/eng/native/init-vs-env.cmd b/eng/native/init-vs-env.cmd index befe98ab407f7..4ae27db20e230 100644 --- a/eng/native/init-vs-env.cmd +++ b/eng/native/init-vs-env.cmd @@ -4,11 +4,19 @@ :: as an argument, it also initializes VC++ build environment and CMakePath. set "__VCBuildArch=" -if /i "%~1" == "x86" (set __VCBuildArch=x86) -if /i "%~1" == "x64" (set __VCBuildArch=x86_amd64) -if /i "%~1" == "arm" (set __VCBuildArch=x86_arm) -if /i "%~1" == "arm64" (set __VCBuildArch=x86_arm64) -if /i "%~1" == "wasm" (if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" (set __VCBuildArch=x86_arm64) else (set __VCBuildArch=x86_amd64)) +if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" ( + if /i "%~1" == "x64" ( set __VCBuildArch=arm64_amd64 ) + if /i "%~1" == "x86" ( set __VCBuildArch=arm64_x86 ) + if /i "%~1" == "arm" ( set __VCBuildArch=arm64_arm ) + if /i "%~1" == "arm64" ( set __VCBuildArch=arm64 ) + if /i "%~1" == "wasm" ( set __VCBuildArch=arm64 ) +) else ( + if /i "%~1" == "x64" ( set __VCBuildArch=amd64 ) + if /i "%~1" == "x86" ( set __VCBuildArch=amd64_x86 ) + if /i "%~1" == "arm" ( set __VCBuildArch=amd64_arm ) + if /i "%~1" == "arm64" ( set __VCBuildArch=amd64_arm64 ) + if /i "%~1" == "wasm" ( set __VCBuildArch=amd64 ) +) :: Default to highest Visual Studio version available that has Visual C++ tools. :: diff --git a/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml b/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml index ed1f852392584..4223c10e8e53b 100644 --- a/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml +++ b/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml @@ -4,7 +4,7 @@ parameters: timeoutInMinutes: '' steps: -- ${{ if and(eq(parameters.isOfficialBuild, true), ne(variables['Build.Reason'], 'PullRequest'), or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/'))) }}: +- ${{ if and(eq(parameters.isOfficialBuild, true), ne(variables['Build.Reason'], 'PullRequest'), or(startswith(variables['Build.SourceBranch'], 'refs/heads/release/'), startswith(variables['Build.SourceBranch'], 'refs/heads/internal/release/')), not(endsWith(variables['Build.SourceBranch'], '-staging'))) }}: - task: UseDotNet@2 displayName: Install .NET 6 SDK for signing. inputs: diff --git a/src/coreclr/build-runtime.cmd b/src/coreclr/build-runtime.cmd index d85e6c95909f0..c75b39bb2e7e4 100644 --- a/src/coreclr/build-runtime.cmd +++ b/src/coreclr/build-runtime.cmd @@ -174,9 +174,6 @@ if %__TotalSpecifiedTargetArch% GTR 1 ( goto Usage ) -set __ProcessorArch=%PROCESSOR_ARCHITEW6432% -if "%__ProcessorArch%"=="" set __ProcessorArch=%PROCESSOR_ARCHITECTURE% - if %__TargetArchX64%==1 set __TargetArch=x64 if %__TargetArchX86%==1 set __TargetArch=x86 if %__TargetArchArm%==1 set __TargetArch=arm @@ -361,18 +358,21 @@ if %__BuildNative% EQU 1 ( echo %__MsgPrefix%Commencing build of native components for %__TargetOS%.%__TargetArch%.%__BuildType% REM Set the environment for the native build - set __VCTargetArch=amd64 - if /i "%__HostArch%" == "x86" ( set __VCTargetArch=x86 ) - if /i "%__HostArch%" == "arm" ( - set __VCTargetArch=x86_arm - ) - if /i "%__HostArch%" == "arm64" ( - set __VCTargetArch=x86_arm64 + if /i "%PROCESSOR_ARCHITECTURE%" == "ARM64" ( + set __VCBuildArch=arm64 + if /i "%__HostArch%" == "x64" ( set __VCBuildArch=arm64_amd64 ) + if /i "%__HostArch%" == "x86" ( set __VCBuildArch=arm64_x86 ) + if /i "%__HostArch%" == "arm" ( set __VCBuildArch=arm64_arm ) + ) else ( + set __VCBuildArch=amd64 + if /i "%__HostArch%" == "x86" ( set __VCBuildArch=amd64_x86 ) + if /i "%__HostArch%" == "arm64" ( set __VCBuildArch=amd64_arm64 ) + if /i "%__HostArch%" == "arm" ( set __VCBuildArch=amd64_arm ) ) if NOT DEFINED SkipVCEnvInit ( - echo %__MsgPrefix%Using environment: "%__VCToolsRoot%\vcvarsall.bat" !__VCTargetArch! - call "%__VCToolsRoot%\vcvarsall.bat" !__VCTargetArch! + echo %__MsgPrefix%Using environment: "%__VCToolsRoot%\vcvarsall.bat" !__VCBuildArch! + call "%__VCToolsRoot%\vcvarsall.bat" !__VCBuildArch! ) @if defined _echo @echo on diff --git a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp index d3ba9ae64ff77..3cab97b42d44d 100644 --- a/src/coreclr/jit/hwintrinsiccodegenarm64.cpp +++ b/src/coreclr/jit/hwintrinsiccodegenarm64.cpp @@ -610,44 +610,38 @@ void CodeGen::genHWIntrinsic(GenTreeHWIntrinsic* node) break; case NI_AdvSimd_Insert: + { assert(isRMW); GetEmitter()->emitIns_Mov(INS_mov, emitTypeSize(node), targetReg, op1Reg, /* canSkip */ true); - if (intrin.op3->isContainedFltOrDblImmed()) - { - assert(intrin.op2->isContainedIntOrIImmed()); - assert(intrin.op2->AsIntCon()->gtIconVal == 0); + // fmov (scalar) zeros the upper bits and is not safe to use + assert(!intrin.op3->isContainedFltOrDblImmed()); - const double dataValue = intrin.op3->AsDblCon()->DconValue(); - GetEmitter()->emitIns_R_F(INS_fmov, emitSize, targetReg, dataValue, opt); - } - else - { - assert(targetReg != op3Reg); + assert(targetReg != op3Reg); - HWIntrinsicImmOpHelper helper(this, intrin.op2, node); + HWIntrinsicImmOpHelper helper(this, intrin.op2, node); - if (varTypeIsFloating(intrin.baseType)) + if (varTypeIsFloating(intrin.baseType)) + { + for (helper.EmitBegin(); !helper.Done(); helper.EmitCaseEnd()) { - for (helper.EmitBegin(); !helper.Done(); helper.EmitCaseEnd()) - { - const int elementIndex = helper.ImmValue(); + const int elementIndex = helper.ImmValue(); - GetEmitter()->emitIns_R_R_I_I(ins, emitSize, targetReg, op3Reg, elementIndex, 0, opt); - } + GetEmitter()->emitIns_R_R_I_I(ins, emitSize, targetReg, op3Reg, elementIndex, 0, opt); } - else + } + else + { + for (helper.EmitBegin(); !helper.Done(); helper.EmitCaseEnd()) { - for (helper.EmitBegin(); !helper.Done(); helper.EmitCaseEnd()) - { - const int elementIndex = helper.ImmValue(); + const int elementIndex = helper.ImmValue(); - GetEmitter()->emitIns_R_R_I(ins, emitSize, targetReg, op3Reg, elementIndex, opt); - } + GetEmitter()->emitIns_R_R_I(ins, emitSize, targetReg, op3Reg, elementIndex, opt); } } break; + } case NI_AdvSimd_InsertScalar: { diff --git a/src/coreclr/jit/lowerarmarch.cpp b/src/coreclr/jit/lowerarmarch.cpp index c58456940bf5e..1b69c3c996a39 100644 --- a/src/coreclr/jit/lowerarmarch.cpp +++ b/src/coreclr/jit/lowerarmarch.cpp @@ -2819,18 +2819,6 @@ void Lowering::ContainCheckHWIntrinsic(GenTreeHWIntrinsic* node) if (intrin.op2->IsCnsIntOrI()) { MakeSrcContained(node, intrin.op2); - - if ((intrin.op2->AsIntCon()->gtIconVal == 0) && intrin.op3->IsCnsFltOrDbl()) - { - assert(varTypeIsFloating(intrin.baseType)); - - const double dataValue = intrin.op3->AsDblCon()->DconValue(); - - if (comp->GetEmitter()->emitIns_valid_imm_for_fmov(dataValue)) - { - MakeSrcContained(node, intrin.op3); - } - } } break; diff --git a/src/coreclr/vm/ceemain.cpp b/src/coreclr/vm/ceemain.cpp index 680a9a2fb2491..c5dff66b823a4 100644 --- a/src/coreclr/vm/ceemain.cpp +++ b/src/coreclr/vm/ceemain.cpp @@ -392,6 +392,12 @@ BOOL g_singleVersionHosting; typedef BOOL(WINAPI* PINITIALIZECONTEXT2)(PVOID Buffer, DWORD ContextFlags, PCONTEXT* Context, PDWORD ContextLength, ULONG64 XStateCompactionMask); PINITIALIZECONTEXT2 g_pfnInitializeContext2 = NULL; +static BOOLEAN WINAPI RtlDllShutdownInProgressFallback() +{ + return g_fProcessDetach; +} +PRTLDLLSHUTDOWNINPROGRESS g_pfnRtlDllShutdownInProgress = &RtlDllShutdownInProgressFallback; + #ifdef TARGET_X86 typedef VOID(__cdecl* PRTLRESTORECONTEXT)(PCONTEXT ContextRecord, struct _EXCEPTION_RECORD* ExceptionRecord); PRTLRESTORECONTEXT g_pfnRtlRestoreContext = NULL; @@ -402,8 +408,12 @@ void InitializeOptionalWindowsAPIPointers() HMODULE hm = GetModuleHandleW(_T("kernel32.dll")); g_pfnInitializeContext2 = (PINITIALIZECONTEXT2)GetProcAddress(hm, "InitializeContext2"); -#ifdef TARGET_X86 hm = GetModuleHandleW(_T("ntdll.dll")); + PRTLDLLSHUTDOWNINPROGRESS pfn = (PRTLDLLSHUTDOWNINPROGRESS)GetProcAddress(hm, "RtlDllShutdownInProgress"); + if (pfn != NULL) + g_pfnRtlDllShutdownInProgress = pfn; + +#ifdef TARGET_X86 g_pfnRtlRestoreContext = (PRTLRESTORECONTEXT)GetProcAddress(hm, "RtlRestoreContext"); #endif //TARGET_X86 } diff --git a/src/coreclr/vm/vars.hpp b/src/coreclr/vm/vars.hpp index 652c8cb7fd50a..b34ec9426621d 100644 --- a/src/coreclr/vm/vars.hpp +++ b/src/coreclr/vm/vars.hpp @@ -478,12 +478,24 @@ GVAL_DECL(bool, g_metadataUpdatesApplied); #endif EXTERN bool g_fManagedAttach; +#ifdef HOST_WINDOWS +typedef BOOLEAN (WINAPI* PRTLDLLSHUTDOWNINPROGRESS)(); +EXTERN PRTLDLLSHUTDOWNINPROGRESS g_pfnRtlDllShutdownInProgress; +#endif + // Indicates whether we're executing shut down as a result of DllMain // (DLL_PROCESS_DETACH). See comments at code:EEShutDown for details. -inline BOOL IsAtProcessExit() +inline bool IsAtProcessExit() { SUPPORTS_DAC; +#if defined(DACCESS_COMPILE) || !defined(HOST_WINDOWS) return g_fProcessDetach; +#else + // RtlDllShutdownInProgress provides more accurate information about whether the process is shutting down. + // Use it if it is available to avoid shutdown deadlocks. + // https://learn.microsoft.com/windows/win32/devnotes/rtldllshutdowninprogress + return g_pfnRtlDllShutdownInProgress(); +#endif } enum FWStatus diff --git a/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj b/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj index 94a83da7c069e..f456d51c256a8 100644 --- a/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj +++ b/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj @@ -4,11 +4,9 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true - 1 In-memory cache implementation of Microsoft.Extensions.Caching.Memory.IMemoryCache. true - true + false 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj b/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj index 91ba0df583c61..cbb53252a9d75 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj @@ -5,7 +5,7 @@ true true true - true + false 1 JSON configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read your application's settings from a JSON file. You can use JsonConfigurationExtensions.AddJsonFile extension method on IConfigurationBuilder to add the JSON configuration provider to the configuration builder. diff --git a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj index 472db60e169b8..b1dfa89877d74 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 User secrets configuration provider implementation for Microsoft.Extensions.Configuration. User secrets mechanism enables you to override application configuration settings with values stored in the local secrets file. You can use UserSecretsConfigurationExtensions.AddUserSecrets extension method on IConfigurationBuilder to add user secrets provider to the configuration builder. diff --git a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj index 82fb8a995b479..6c89d4516fbe7 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 XML configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from XML files. You can use XmlConfigurationExtensions.AddXmlFile extension method on IConfigurationBuilder to add XML configuration provider to the configuration builder. diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/Microsoft.Extensions.DependencyInjection.Abstractions.csproj b/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/Microsoft.Extensions.DependencyInjection.Abstractions.csproj index 478f525ba85dd..2de11caed3b03 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/Microsoft.Extensions.DependencyInjection.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyInjection.Abstractions/src/Microsoft.Extensions.DependencyInjection.Abstractions.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.1;netstandard2.0;$(NetFrameworkMinimum) true true - true + false 2 Abstractions for dependency injection. diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj b/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj index cc0bebcb2c129..447ba681f3ac2 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj @@ -7,7 +7,7 @@ $(NoWarn);CP0001 true - true + false 1 Default implementation of dependency injection for Microsoft.Extensions.DependencyInjection. diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj index c53c917361b1b..8e17f4ec11349 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 2 Provides abstractions for reading `.deps` files. When a .NET application is compiled, the SDK generates a JSON manifest file (`<ApplicationName>.deps.json`) that contains information about application dependencies. You can use `Microsoft.Extensions.DependencyModel` to read information from this manifest at run time. This is useful when you want to dynamically compile code (for example, using Roslyn Emit API) referencing the same dependencies as your main application. diff --git a/src/libraries/Microsoft.Extensions.Diagnostics.Abstractions/src/Microsoft.Extensions.Diagnostics.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Diagnostics.Abstractions/src/Microsoft.Extensions.Diagnostics.Abstractions.csproj index 69066028e6382..a8acaa19d1ef4 100644 --- a/src/libraries/Microsoft.Extensions.Diagnostics.Abstractions/src/Microsoft.Extensions.Diagnostics.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Diagnostics.Abstractions/src/Microsoft.Extensions.Diagnostics.Abstractions.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 true true - true + false 1 This package includes the default implementation of IMeterFactory and additional extension methods to easily register it with the Dependency Injection framework. diff --git a/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj index 790938b691599..cadd48d93f7d1 100644 --- a/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj @@ -5,7 +5,7 @@ Microsoft.Extensions.Hosting true true - true + false 1 Hosting and startup abstractions for applications. diff --git a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj index 434042ad58b33..7e140bc252d4e 100644 --- a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj @@ -5,7 +5,7 @@ true true true - true + false 1 .NET hosting infrastructure for Systemd Services. diff --git a/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj b/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj index 58822f2b49a5b..aa61eb64cb2b6 100644 --- a/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.1;netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 .NET hosting infrastructure for Windows Services. true diff --git a/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj b/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj index 6d699c5ade738..a0491336e0cce 100644 --- a/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj @@ -5,7 +5,7 @@ true Hosting and startup infrastructures for applications. true - true + false 1 diff --git a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj index 1e553f65ae93a..0b8023e45d784 100644 --- a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj +++ b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 The HttpClient factory is a pattern for configuring and retrieving named HttpClients in a composable way. The HttpClient factory provides extensibility to plug in DelegatingHandlers that address cross-cutting concerns such as service location, load balancing, and reliability. The default HttpClient factory provides built-in diagnostics and logging and manages the lifetimes of connections in a performant way. diff --git a/src/libraries/Microsoft.Extensions.Logging.Abstractions/src/Microsoft.Extensions.Logging.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Logging.Abstractions/src/Microsoft.Extensions.Logging.Abstractions.csproj index 087ad684431f9..f0a6970e78fe9 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Abstractions/src/Microsoft.Extensions.Logging.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Abstractions/src/Microsoft.Extensions.Logging.Abstractions.csproj @@ -5,7 +5,7 @@ true true true - true + false 2 Logging abstractions for Microsoft.Extensions.Logging. diff --git a/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj b/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj index faf13fa8cb304..f3ef1f9fe8b47 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj @@ -8,7 +8,7 @@ $(InterceptorsPreviewNamespaces);Microsoft.Extensions.Configuration.Binder.SourceGeneration true true - true + false 1 Configuration support for Microsoft.Extensions.Logging. diff --git a/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj b/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj index 877c57a45288c..028c4410d5769 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj @@ -7,7 +7,7 @@ $(DefineConstants);NO_SUPPRESS_GC_TRANSITION true true - true + false 1 $(Features);InterceptorsPreview diff --git a/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj b/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj index b534471c34ab7..45538d5e6c312 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 Debug output logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a debugger monitor by writing messages with System.Diagnostics.Debug.WriteLine(). diff --git a/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj b/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj index 38c1909633cd8..9c448b64e0340 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 Windows Event Log logger provider implementation for Microsoft.Extensions.Logging. diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj index 57c8653fde392..832024d16db33 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj @@ -5,7 +5,7 @@ true true true - true + false 1 EventSource/EventListener logger provider implementation for Microsoft.Extensions.Logging. diff --git a/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj b/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj index 7d26e0db14499..a494448c9243c 100644 --- a/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 TraceSource logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a trace listener by writing messages with System.Diagnostics.TraceSource.TraceEvent(). diff --git a/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj b/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj index fd85f184890eb..4300d000d0a84 100644 --- a/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj +++ b/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj @@ -4,7 +4,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.1;netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 Logging infrastructure default implementation for Microsoft.Extensions.Logging. diff --git a/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentDictionary.cs b/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentDictionary.cs index 4371968af780a..0296b129b460d 100644 --- a/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentDictionary.cs +++ b/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentDictionary.cs @@ -399,57 +399,52 @@ private bool TryRemoveInternal(TKey key, [MaybeNullWhen(false)] out TValue value object[] locks = tables._locks; ref Node? bucket = ref GetBucketAndLock(tables, hashcode, out uint lockNo); - // Do a hot read on number of items stored in the bucket. If it's empty, we can avoid - // taking the lock and fail fast. - if (tables._countPerLock[lockNo] != 0) + lock (locks[lockNo]) { - lock (locks[lockNo]) + // If the table just got resized, we may not be holding the right lock, and must retry. + // This should be a rare occurrence. + if (tables != _tables) { - // If the table just got resized, we may not be holding the right lock, and must retry. - // This should be a rare occurrence. - if (tables != _tables) + tables = _tables; + if (!ReferenceEquals(comparer, tables._comparer)) { - tables = _tables; - if (!ReferenceEquals(comparer, tables._comparer)) - { - comparer = tables._comparer; - hashcode = GetHashCode(comparer, key); - } - continue; + comparer = tables._comparer; + hashcode = GetHashCode(comparer, key); } + continue; + } - Node? prev = null; - for (Node? curr = bucket; curr is not null; curr = curr._next) - { - Debug.Assert((prev is null && curr == bucket) || prev!._next == curr); + Node? prev = null; + for (Node? curr = bucket; curr is not null; curr = curr._next) + { + Debug.Assert((prev is null && curr == bucket) || prev!._next == curr); - if (hashcode == curr._hashcode && NodeEqualsKey(comparer, curr, key)) + if (hashcode == curr._hashcode && NodeEqualsKey(comparer, curr, key)) + { + if (matchValue) { - if (matchValue) + bool valuesMatch = EqualityComparer.Default.Equals(oldValue, curr._value); + if (!valuesMatch) { - bool valuesMatch = EqualityComparer.Default.Equals(oldValue, curr._value); - if (!valuesMatch) - { - value = default; - return false; - } - } - - if (prev is null) - { - Volatile.Write(ref bucket, curr._next); - } - else - { - prev._next = curr._next; + value = default; + return false; } + } - value = curr._value; - tables._countPerLock[lockNo]--; - return true; + if (prev is null) + { + Volatile.Write(ref bucket, curr._next); + } + else + { + prev._next = curr._next; } - prev = curr; + + value = curr._value; + tables._countPerLock[lockNo]--; + return true; } + prev = curr; } } diff --git a/src/libraries/System.Collections/tests/Generic/HashSet/HashSet.NonGeneric.Tests.cs b/src/libraries/System.Collections/tests/Generic/HashSet/HashSet.NonGeneric.Tests.cs new file mode 100644 index 0000000000000..94705efb6fcc2 --- /dev/null +++ b/src/libraries/System.Collections/tests/Generic/HashSet/HashSet.NonGeneric.Tests.cs @@ -0,0 +1,39 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Collections.Generic; +using System.Reflection; +using System.Runtime.Serialization; +using Xunit; + +namespace System.Collections.Tests +{ + public static class HashSet_NonGeneric_Tests + { + [Fact] + public static void HashSet_CopyConstructor_ShouldWorkWithRandomizedEffectiveComparer() + { + HashSet set = CreateCopyWithRandomizedComparer(new HashSet() { "a", "b" }); + Assert.True(set.Contains("a")); + + HashSet copiedSet = new(set); + Assert.True(copiedSet.Contains("a")); + + static HashSet CreateCopyWithRandomizedComparer(HashSet set) + { + // To reproduce the bug, we need a HashSet instance that has fallen back to + // the randomized comparer. This typically happens when there are many collisions but + // it can also happen when the set is serialized and deserialized via ISerializable. + // For consistent results and to avoid brute forcing collisions, use the latter approach. + + SerializationInfo info = new(typeof(HashSet), new FormatterConverter()); + StreamingContext context = new(StreamingContextStates.All); + set.GetObjectData(info, context); + + HashSet copiedSet = (HashSet)Activator.CreateInstance(typeof(HashSet), BindingFlags.NonPublic | BindingFlags.Instance, null, [info, context], null); + copiedSet.OnDeserialization(null); + return copiedSet; + } + } + } +} diff --git a/src/libraries/System.Collections/tests/System.Collections.Tests.csproj b/src/libraries/System.Collections/tests/System.Collections.Tests.csproj index 3d64df4f13ee5..800fdfd05a336 100644 --- a/src/libraries/System.Collections/tests/System.Collections.Tests.csproj +++ b/src/libraries/System.Collections/tests/System.Collections.Tests.csproj @@ -1,4 +1,4 @@ - + $(NetCoreAppCurrent) true @@ -48,6 +48,7 @@ + diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj index 775ea60ff588d..6d01b2447d84a 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj @@ -7,7 +7,7 @@ false true true - true + false 1 Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration. diff --git a/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj b/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj index a4e1d02327462..e0a306863f6cc 100644 --- a/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj +++ b/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj @@ -5,7 +5,7 @@ $(NoWarn);CA2249;CA1838 false true - true + false 1 Provides a collection of classes used to access an ODBC data source in the managed space diff --git a/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj b/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj index 96acfcbb72f13..3f96c7c238e30 100644 --- a/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj +++ b/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj @@ -8,7 +8,7 @@ $(NoWarn);SYSLIB0004 false true - true + false 1 Provides a collection of classes for OLEDB. diff --git a/src/libraries/System.Diagnostics.EventLog/src/System.Diagnostics.EventLog.csproj b/src/libraries/System.Diagnostics.EventLog/src/System.Diagnostics.EventLog.csproj index 5bf9cee3c8725..32185c679f3d1 100644 --- a/src/libraries/System.Diagnostics.EventLog/src/System.Diagnostics.EventLog.csproj +++ b/src/libraries/System.Diagnostics.EventLog/src/System.Diagnostics.EventLog.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 Provides the System.Diagnostics.EventLog class, which allows the applications to use the Windows event log service. diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj b/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj index c6024f6b92ae0..64f7425d4ef89 100644 --- a/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj +++ b/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 Provides the System.Diagnostics.PerformanceCounter class, which allows access to Windows performance counters. diff --git a/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj b/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj index 518f441dc9d0d..9f7c2cb78ce4d 100644 --- a/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj +++ b/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj @@ -7,7 +7,7 @@ $(NoWarn);IDE0059;IDE0060;CA1822;CA1859 false true - true + false 1 true true diff --git a/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IndexOf.cs b/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IndexOf.cs index dea1a24959cbd..ab86064d8bae2 100644 --- a/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IndexOf.cs +++ b/src/libraries/System.Globalization/tests/CompareInfo/CompareInfoTests.IndexOf.cs @@ -127,6 +127,16 @@ public static IEnumerable IndexOf_TestData() yield return new object[] { s_currentCompare, "\u0130", "\u0131", 0, 1, CompareOptions.Ordinal, -1, 0 }; yield return new object[] { s_currentCompare, "\u0131", "\u0130", 0, 1, CompareOptions.Ordinal, -1, 0 }; + if (!PlatformDetection.IsHybridGlobalizationOnBrowser) + { + yield return new object[] { s_invariantCompare, "est", "est", 0, 2, CompareOptions.IgnoreCase, 0, 2 }; + yield return new object[] { s_invariantCompare, " est", "est", 0, 3, CompareOptions.IgnoreCase, 1, 2 }; + yield return new object[] { s_invariantCompare, " st", "st", 0, 2, CompareOptions.IgnoreCase, 1, 1 }; + yield return new object[] { s_invariantCompare, "est", "est", 0, 3, CompareOptions.IgnoreCase, 0, 3 }; + yield return new object[] { s_invariantCompare, " est", "est", 0, 4, CompareOptions.IgnoreCase, 1, 3 }; + yield return new object[] { s_invariantCompare, " st", "st", 0, 3, CompareOptions.IgnoreCase, 1, 2 }; + } + // Platform differences if (PlatformDetection.IsNlsGlobalization) { diff --git a/src/libraries/System.Globalization/tests/System/Globalization/RegionInfoTests.cs b/src/libraries/System.Globalization/tests/System/Globalization/RegionInfoTests.cs index 6fd30317d7f06..7a4c0c7481710 100644 --- a/src/libraries/System.Globalization/tests/System/Globalization/RegionInfoTests.cs +++ b/src/libraries/System.Globalization/tests/System/Globalization/RegionInfoTests.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +using System.Reflection; using System.Tests; using Microsoft.DotNet.RemoteExecutor; using Xunit; @@ -267,5 +268,19 @@ public void ValidateThrowingWhenUsingCustomUnspecifiedLcid() AssertExtensions.Throws("culture", () => new RegionInfo(4096)); } + + [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindows8x))] + public void BuiltInRegionListTest() + { + // Ensure we can create all region info objects from the built-in list + Dictionary regionNames = (Dictionary)typeof(RegionInfo).Assembly.GetType("System.Globalization.CultureData").GetProperty("RegionNames", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null); + + foreach (var kvp in regionNames) + { + RegionInfo ri1 = new RegionInfo(kvp.Key); + RegionInfo ri2 = new RegionInfo(kvp.Value == "" ? kvp.Key : kvp.Value); // invariant culture + Assert.Equal(ri1.Name, ri2.Name); + } + } } } diff --git a/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj b/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj index 6d38af53ab005..5182af6202c6a 100644 --- a/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj +++ b/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 Provides classes that support storage of multiple data objects in a single container. diff --git a/src/libraries/System.IO.Ports/tests/file.pp b/src/libraries/System.IO.Ports/tests/file.pp new file mode 100644 index 0000000000000..5898c4a781509 --- /dev/null +++ b/src/libraries/System.IO.Ports/tests/file.pp @@ -0,0 +1,9554 @@ + + + + + + + true + + true + + + + true + + + <_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props + <_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)')) + $([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)')) + + + + + true + + true + + + + + false + + true + + true + + + <_hostOS>linux + <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx + <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd + <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd + <_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos + <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris + <_hostOS Condition="$([MSBuild]::IsOSPlatform('HAIKU'))">haiku + <_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows + $(_hostOS) + browser + $(_hostOS) + true + true + + + + <_hostArch>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant) + $(_hostArch) + wasm + wasm + arm + armv6 + armel + arm64 + loongarch64 + s390x + ppc64le + x64 + x64 + $(TargetArchitecture) + + + + 21 + 11.0 + 11.0 + 2.0 + 5.1 + 10.15 + 11.0 + + + + true + $(MSBuildProjectName)$([System.IO.Path]::DirectorySeparatorChar)ref + + + + + + + <_SuppressSdkImports>false + <_SuppressSdkImports Condition="'$(__ToolsetLocationOutputFile)' != ''">true + + + + + <_ArcadeOverriddenCustomBeforeMicrosoftCommonTargets>$(CustomBeforeMicrosoftCommonTargets) + <_ArcadeOverriddenCustomBeforeMicrosoftCommonCrossTargetingTargets>$(CustomBeforeMicrosoftCommonCrossTargetingTargets) + $(MSBuildThisFileDirectory)BeforeCommonTargets.targets + $(MSBuildThisFileDirectory)BeforeCommonTargets.CrossTargeting.targets + + $(_NETCORE_ENGINEERING_TELEMETRY) + + + + + $(MSBuildThisFileDirectory)net472\Microsoft.DotNet.Arcade.Sdk.dll + $(MSBuildThisFileDirectory)net8.0\Microsoft.DotNet.Arcade.Sdk.dll + + + + + + + + + + Debug + AnyCPU + $(Platform) + + + + $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)')) + $([MSBuild]::NormalizeDirectory('$(NUGET_PACKAGES)')) + $([MSBuild]::NormalizeDirectory('$(UserProfile)', '.nuget', 'packages')) + $([MSBuild]::NormalizeDirectory('$(HOME)', '.nuget', 'packages')) + + + $([MSBuild]::NormalizeDirectory('$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), 'global.json'))')) + + + + $(DOTNET_INSTALL_DIR) + $([MSBuild]::NormalizeDirectory('$(DotNetRoot)')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', '.dotnet')) + + + $(DotNetRoot)dotnet.exe + $(DotNetRoot)dotnet + + + mono + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'eng')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', '.tools')) + $(RepositoryEngineeringDir)Versions.props + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'toolset')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'obj')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'log', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsLogDir)', 'ngen')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'tmp', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'TestResults', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'SymStore', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'packages', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'Shipping')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsPackagesDir)', 'NonShipping')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'VSSetup', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(VisualStudioSetupOutputPath)', 'Insertion')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'VSSetup.obj', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(VisualStudioSetupOutputPath)', 'DevDivPackages')) + + + + $(MSBuildProjectName) + $([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\')) + $(BaseOutputPath)$(Configuration)\ + $(BaseOutputPath)$(PlatformName)\$(Configuration)\ + $([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\')) + $(BaseIntermediateOutputPath)$(Configuration)\ + $(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\ + + + + + + + false + true + + + + + 8.0.0-beta.24426.2 + 4.6.0 + 6.0.100-1.22103.2 + 1.1.0-beta2-19575-01 + 1.0.0-beta.23475.1 + 1.1.0-beta.24321.1 + 2.0.0-preview.1.23470.14 + 8.0.100-rtm.23479.1 + 8.0.0-beta.24426.2 + + + + + + 8.0.10 + + 8 + 0 + 10 + 8.0.100 + 7.0.20 + 6.0.$([MSBuild]::Add($(PatchVersion),25)) + servicing + + + true + release + -$(PreReleaseVersionLabel) + -$(PreReleaseVersionLabel).$(PreReleaseVersionIteration) + $(SdkBandVersion)$(WorkloadVersionSuffix) + + false + + $(MajorVersion).$(MinorVersion).0.0 + + true + false + false + $(AssemblyVersion) + + true + + + + + + + 3.11.0-beta1.23614.1 + 8.0.0-preview.23614.1 + + + 4.8.0-7.23566.2 + 4.8.0-7.23566.2 + 4.8.0-7.23566.2 + + + + + 3.11.0 + + 4.0.1 + + + 4.4.0 + + + 4.5.0 + + 3.3.5-beta1.23270.2 + + + + $(MicrosoftCodeAnalysisVersion_LatestVS) + + + 0.2.0 + + 8.0.100 + + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 2.5.1-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + 8.0.0-beta.24426.2 + + 6.0.0-preview.1.102 + + 8.0.0-rc.1.23406.6 + 6.0.0 + + 8.0.0-rc.1.23406.6 + 8.0.0-preview.7.23325.2 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + + 6.0.0 + 1.1.1 + 5.0.0 + 1.2.0-beta.406 + 4.5.1 + 7.0.0 + 5.0.0 + 4.8.6 + 8.0.0 + 5.0.0 + 4.5.5 + 7.0.0 + 6.0.0 + 5.0.0 + 5.0.0 + 5.0.0 + 7.0.0 + + 7.0.3 + 8.0.0-rc.1.23406.6 + 6.0.0 + 7.0.0 + 4.5.4 + 4.5.0 + 8.0.0-rc.1.23406.6 + + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + 8.0.0-beta.24362.2 + + 1.0.0-prerelease.23566.3 + 1.0.0-prerelease.23566.3 + 1.0.0-prerelease.23566.3 + 1.0.0-prerelease.23566.3 + 1.0.0-prerelease.23566.3 + 1.0.0-prerelease.23566.3 + + 17.10.0-beta1.24272.1 + 2.0.0-beta4.23307.1 + 3.0.3 + 2.1.0 + 2.0.3 + 1.0.4-preview6.19326.1 + 2.0.5 + 17.8.3 + $(MicrosoftBuildVersion) + $(MicrosoftBuildVersion) + $(MicrosoftBuildVersion) + 6.2.4 + 6.2.4 + 7.0.412701 + 6.0 + + 1.1.0 + 17.4.0-preview-20220707-01 + 8.0.0-prerelease.24229.2 + 8.0.0-prerelease.24229.2 + 8.0.0-prerelease.24229.2 + 8.0.0-alpha.0.24453.2 + 2.4.2 + 1.0.0 + 2.4.5 + 3.12.0 + 4.1.0 + 6.0.0 + 13.0.3 + 1.0.2 + 2.0.4 + 4.18.4 + 6.7.0 + 2.14.3 + + 3.19.4 + 2.46.0 + 2.46.0 + 2.46.3 + 2.46.3 + 2.45.0 + 2.45.0 + 1.1.2-beta1.23323.1 + + 8.0.0-preview-20230918.1 + + 8.0.0-rc.1.23406.6 + + 0.11.4-alpha.23509.2 + + 8.0.0-rc.1.23406.6 + + 8.0.0-rtm.23523.2 + + 2.3.5 + 8.0.0-alpha.1.23527.1 + + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + + 8.0.10 + $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100Version) + + 1.1.87-gba258badda + + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + 16.0.5-alpha.1.23566.1 + + 3.1.7 + 1.0.406601 + + 8.0.108 + $(MicrosoftDotnetSdkInternalVersion) + + + + true + + + + + + + + + true + + + + + true + true + + false + false + false + false + false + + + true + + false + + false + + + + false + false + false + false + false + + + + 18.165.29912-buildid11693003 + 1.0.422 + 0.2.0 + 5.1.0-beta.21356.1 + 17.5.0 + 16.9.1050 + $(ArcadeSdkVersion) + $(ArcadeSdkVersion) + $(ArcadeSdkVersion) + 16.5.0 + 2.4.2 + 1.1.0 + $(XUnitVersion) + + 2.4.3 + 2.0.0 + $(MSTestVersion) + $(MSTestVersion) + $(ArcadeSdkVersion) + $(ArcadeSdkVersion) + 3.12.0 + 3.15.1 + 2.6.7 + 1.0.0 + $(ArcadeSdkVersion) + $(ArcadeSdkVersion) + 0.1.1832-alpha + 1.0.0 + 2.1.3 + 1.1.286 + 3.14.1-8722.20240403.1 + + + + + + $(ArtifactsDir)ibc\ + + + + + + 0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9 + 002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293 + 0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb + 00000000000000000400000000000000 + 00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb + 00240000048000009400000006020000002400005253413100040000010001008d56c76f9e8649383049f383c44be0ec204181822a6c31cf5eb7ef486944d032188ea1d3920763712ccb12d75fb77e9811149e6148e5d32fbaab37611c1878ddc19e20ef135d0cb2cff2bfec3d115810c3d9069638fe4be215dbf795861920e5ab6f7db2e2ceef136ac23d5dd2bf031700aec232f6c6b1c785b4305c123b37ab + + + + + + true + MicrosoftShared + SHA256 + true + en-US + Microsoft Corporation + © Microsoft Corporation. All rights reserved. + © .NET Foundation and Contributors + Microsoft + true + false + true + true + true + Icon.png + $(MSBuildThisFileDirectory)Assets\DotNetPackageIcon.png + + true + + false + + portable + embedded + + + {HintPathFromItem}; + {TargetFrameworkDirectory}; + {RawFileName}; + + + + C# + VB + F# + C++ + + + + + + + + C# + $(MSBuildToolsPath)\Microsoft.CSharp.targets + + + + + VB + $(MSBuildToolsPath)\Microsoft.VisualBasic.targets + + + + + + + + + + $(NoWarn);1701;1702;1705 + $(NoWarn);1591 + + + + + + Empty + Binary + On + true + + + + + + + false + + + + + + $(OutputPath) + + false + + + + + + + + + + + + + false + true + + + + false + false + false + false + + + + + + + + net8.0 + net7.0 + net6.0 + + net462 + net472 + net481 + + + + + + + + + + + + + + + + + + + + 8.0 + .NETCoreApp + $(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppCurrentVersion) + Microsoft.NETCore.App + .NET $(NetCoreAppCurrentVersion) + net$(NetCoreAppCurrentVersion) + + 7.0 + net$(NetCoreAppPreviousVersion) + $(NetCoreAppCurrent) + + net6.0 + $(NetCoreAppCurrent) + + 8.0 + net$(NetCoreAppToolCurrentVersion) + $(NetCoreAppCurrentIdentifier),Version=v$(NetCoreAppToolCurrentVersion) + 8.0 + net$(AspNetCoreAppCurrentVersion) + net462 + net48 + net472 + + + + + + 8.0.0 + net8.0 + $(NetFrameworkToolCurrent) + + + $(NetCoreAppToolCurrent) + + + + $(Configuration) + $(Configuration) + Debug + $(RuntimeConfiguration) + $(RuntimeConfiguration) + + Debug + $(Configuration) + $(Configuration) + $(Configuration) + + + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'libraries')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'coreclr')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'mono')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'installer')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'workloads')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'tools')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'native')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'tasks')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'mibc')) + $([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'docs')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)', 'publish')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MobileBuildTasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)', 'publish')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WorkloadBuildTasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'LibraryBuilder', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoTargetsTasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'TestExclusionListTasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)')) + $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'installer.tasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)', 'installer.tasks.dll')) + $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'installer.tasks', '$(TasksConfiguration)', '$(NetFrameworkToolCurrent)', 'installer.tasks.dll')) + $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'Crossgen2Tasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)', 'Microsoft.NET.CrossGen.props')) + $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'Crossgen2Tasks', '$(TasksConfiguration)', '$(NetCoreAppToolCurrent)', 'Microsoft.NET.CrossGen.targets')) + $([MSBuild]::NormalizePath('$(AppleAppBuilderDir)', 'AppleAppBuilder.dll')) + $([MSBuild]::NormalizePath('$(AndroidAppBuilderDir)', 'AndroidAppBuilder.dll')) + $([MSBuild]::NormalizePath('$(MobileBuildTasksDir)', 'MobileBuildTasks.dll')) + $([MSBuild]::NormalizePath('$(WasmAppBuilderDir)', 'WasmAppBuilder.dll')) + $([MSBuild]::NormalizePath('$(WasmBuildTasksDir)', 'WasmBuildTasks.dll')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppHost', 'wasm', '$(Configuration)')) + $([MSBuild]::NormalizePath('$(WorkloadBuildTasksDir)', 'WorkloadBuildTasks.dll')) + $([MSBuild]::NormalizePath('$(LibraryBuilderDir)', 'LibraryBuilder.dll')) + $([MSBuild]::NormalizePath('$(MonoAOTCompilerDir)', 'MonoAOTCompiler.dll')) + $([MSBuild]::NormalizePath('$(MonoTargetsTasksDir)', 'MonoTargetsTasks.dll')) + $([MSBuild]::NormalizePath('$(TestExclusionListTasksDir)', 'TestExclusionListTasks.dll')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'coreclr', '$(TargetOS).$(TargetArchitecture).$(RuntimeConfiguration)')) + $(CoreCLRToolPath) + $(WASMTIME_PATH) + $([MSBuild]::NormalizeDirectory($(ArtifactsObjDir), 'wasmtime')) + true + + + false + true + + + + + <_portableOS>$(TargetOS.ToLowerInvariant()) + <_portableOS Condition="'$(_portableOS)' == 'windows'">win + + <_portableOS Condition="'$(_portableOS)' == 'anyos'">$(__PortableTargetOS) + + <_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-musl'">linux-musl + <_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-bionic'">linux-bionic + + <_portableOS Condition="'$(HostOS)' == 'win' and '$(TargetsMobile)' != 'true'">win + + + + <_packageOS>$(_portableOS) + <_packageOS Condition="'$(CrossBuild)' == 'true' and '$(_portableOS)' != 'linux-musl' and '$(_portableOS)' != 'linux-bionic'">$(_hostOS) + + $(PackageOS)-$(TargetArchitecture) + $(_packageOS)-$(TargetArchitecture) + + + + + <_portableHostOS>$(_hostOS) + <_portableHostOS Condition="'$(_portableHostOS)' == 'windows'">win + <_portableHostOS Condition="'$(CrossBuild)' != 'true' and '$(_portableOS)' == 'linux-musl'">linux-musl + + $(ToolsOS)-$(_hostArch) + $(_portableHostOS)-$(_hostArch) + + $(ToolsRID) + + + + <_hostRid Condition="'$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier) + <_hostRid Condition="'$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant) + <_parseDistroRid>$(__DistroRid) + <_parseDistroRid Condition="'$(_parseDistroRid)' == ''">$(_hostRid) + <_distroRidIndex>$(_parseDistroRid.LastIndexOf('-')) + <_outputOS>$(_parseDistroRid.SubString(0, $(_distroRidIndex))) + <_outputOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS) + $(_outputOS)-$(TargetArchitecture) + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'microsoft.netcore.app.ref')) + $([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRefPackDir)', 'ref', '$(NetCoreAppCurrent)')) + $([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRefPackDir)', 'data')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'microsoft.netcore.app.runtime.$(OutputRID)', '$(LibrariesConfiguration)')) + $([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackDir)', 'runtimes', '$(OutputRID)')) + $([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackRidDir)', 'lib', '$(NetCoreAppCurrent)')) + $([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackRidDir)', 'native')) + + + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(OutputRID).$(HostConfiguration)', 'corehost')) + + + + true + false + true + + true + + false + + false + + true + + true + + + + + lib + .exe + + + + + + .dll + .lib + .pdb + + + + + lib + .dylib + .a + .dwarf + + + + + lib + .so + .a + .dbg + + + + + + + + + + + + + CoreCLR + Mono + Mono + Mono + Mono + $(DefaultPrimaryRuntimeFlavor) + + + clr+mono+libs+tools+host+packs + mono+libs+packs + mono+libs+host+packs + + clr+libs+tools+host+packs + + + + <_subset Condition="'$(Subset)' != ''">+$(Subset.ToLowerInvariant())+ + <_subset Condition="'$(Subset)' == ''">+$(DefaultSubsets)+ + + + Mono + CoreCLR + Mono + $(PrimaryRuntimeFlavor) + + + clr.native+linuxdac+clr.corelib+clr.tools+clr.nativecorelib+clr.packages+clr.nativeaotlibs+clr.crossarchtools+host.native + clr.native+linuxdac+clr.corelib+clr.tools+clr.nativecorelib+clr.packages+clr.nativeaotlibs+clr.crossarchtools + + clr.iltools+clr.packages + clr.alljits+clr.tools+clr.nativeaotlibs+clr.nativeaotruntime + mono.llvm+ + mono.llvm+ + $(DefaultMonoSubsets)mono.wasmruntime+ + $(DefaultMonoSubsets)mono.wasiruntime+ + $(DefaultMonoSubsets)mono.aotcross+ + $(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages+ + $(DefaultMonoSubsets)mono.manifests+ + $(DefaultMonoSubsets)mono.manifests+ + $(DefaultMonoSubsets)mono.tools+ + $(DefaultMonoSubsets)host.native+ + libs.native+ + $(DefaultLibrariesSubsets)libs.sfx+libs.oob+libs.pretest + tools.illink + host.native+host.tools+host.pkg + $(DefaultHostSubsets)+host.tests + + host.native + packs.product + $(DefaultPacksSubsets)+packs.tests + $(DefaultPacksSubsets)+packs.installers + $(DefaultPacksSubsets)+mono.manifests + + + <_subset>$(_subset.Replace('+clr.paltests+', '+clr.paltests+clr.paltestlist+')) + <_subset>$(_subset.Replace('+clr+', '+$(DefaultCoreClrSubsets)+')) + <_subset>$(_subset.Replace('+clr.aot+', '+$(DefaultNativeAotSubsets)+')) + <_subset>$(_subset.Replace('+mono+', '+$(DefaultMonoSubsets)+')) + <_subset>$(_subset.Replace('+libs+', '+$(DefaultLibrariesSubsets)+')) + <_subset>$(_subset.Replace('+tools+', '+$(DefaultToolsSubsets)+')) + <_subset>$(_subset.Replace('+host+', '+$(DefaultHostSubsets)+')) + <_subset>$(_subset.Replace('+packs+', '+$(DefaultPacksSubsets)+')) + + <_subset>+$(_subset.Trim('+'))+ + + ClrRuntimeSubset=true;ClrJitSubset=true;ClrILToolsSubset=true + + + + true + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + false + false + false + + + + + + + + $(ClrRuntimeBuildSubsets);ClrHostsSubset=true + + + $(ClrRuntimeBuildSubsets);ClrRuntimeSubset=true + + + $(ClrRuntimeBuildSubsets);ClrFullNativeBuild=true + + + $(ClrRuntimeBuildSubsets);ClrJitSubset=true + + + $(ClrRuntimeBuildSubsets);ClrPalTestsSubset=true + + + $(ClrRuntimeBuildSubsets);ClrAllJitsSubset=true + + + $(ClrRuntimeBuildSubsets);ClrILToolsSubset=true + + + $(ClrRuntimeBuildSubsets);ClrNativeAotSubset=true + + + $(ClrRuntimeBuildSubsets);ClrSpmiSubset=true + + + + + + + + + + + + + + + + + + + + x64 + x86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %(AdditionalProperties);RefOnly=true + + + + + %(AdditionalProperties);RefOnly=true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %(AdditionalProperties);Configuration=$(CoreCLRConfiguration) + %(AdditionalProperties);Configuration=$(MonoConfiguration) + %(AdditionalProperties);Configuration=$(LibrariesConfiguration) + %(AdditionalProperties);Configuration=$(HostConfiguration) + %(AdditionalProperties);Configuration=$(TasksConfiguration) + + %(AdditionalProperties);LibrariesConfiguration=$(LibrariesConfiguration) + %(AdditionalProperties);HostConfiguration=$(HostConfiguration) + %(AdditionalProperties);TasksConfiguration=$(TasksConfiguration) + + + + + $([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src')) + $([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'ref')) + $([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj')) + $([MSBuild]::NormalizePath('$(MonoProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj')) + $([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'nativeaot', 'System.Private.CoreLib', 'src', 'System.Private.CoreLib.csproj')) + $([MSBuild]::NormalizePath('$(LibrariesProjectRoot)', 'System.Private.Uri', 'src', 'System.Private.Uri.csproj')) + + true + + + + runtime + https://github.com/dotnet/$(GitHubRepositoryName) + https://dot.net + microsoft,dotnetframework + true + $(MSBuildThisFileDirectory)LICENSE.TXT + MIT + false + $(CopyrightNetFoundation) + $(MSBuildThisFileDirectory)THIRD-PARTY-NOTICES.TXT + https://go.microsoft.com/fwlink/?LinkID=799421 + $(MSBuildProjectName.Contains('Private')) + + true + + false + $(RepositoryEngineeringDir)_._ + + + + + $(IsPrivateAssembly.ToLowerInvariant()) + + + + + + preview + + preview + latest + + strict;nullablePublicOnly + true + + $(NoWarn),CS8969 + + portable + true + true + false + + Properties + + false + + + + true + true + true + true + true + + false + + + + true + true + + + + false + + $(NoWarn);CS0169;CS0649;CS8618 + + $(NoWarn);CS8597 + + $(NoWarn);CS8625 + + $(NoWarn);CS8617 + + + none + + false + + + + + + <_Parameter1>(System.Reflection.AssemblyNameFlags)0x70 + <_Parameter1_IsLiteral>true + + + + + true + + + + true + + + + true + + + + + true + + $(NoWarn);SYSLIB0011;SYSLIB0050;SYSLIB0051 + + $(NoWarn);IL2121 + + annotations + + + $(RepositoryEngineeringDir)NoTargetsSdk.BeforeTargets.targets + $(RepositoryEngineeringDir)TraversalSdk.AfterTargets.targets + + + + $(RepositoryEngineeringDir)BeforeTargetFrameworkInference.targets + false + $(RepositoryEngineeringDir)LicenseHeader.txt + + + + + + + + + + mscorlib; + Microsoft.VisualBasic; + System; + System.ComponentModel.DataAnnotations; + System.Configuration; + System.Core; + System.Data; + System.Drawing; + System.IO.Compression.FileSystem; + System.Net; + System.Numerics; + System.Runtime.Serialization; + System.Security; + System.ServiceProcess; + System.ServiceModel.Web; + System.Transactions; + System.Web; + System.Windows; + System.Xml; + System.Xml.Serialization; + System.Xml.Linq; + WindowsBase; + + + $(NetFxReference) + netstandard; + Microsoft.CSharp; + Microsoft.VisualBasic.Core; + Microsoft.Win32.Primitives; + Microsoft.Win32.Registry; + System.AppContext; + System.Buffers; + System.Collections; + System.Collections.Concurrent; + System.Collections.Immutable; + System.Collections.NonGeneric; + System.Collections.Specialized; + System.ComponentModel; + System.ComponentModel.Annotations; + System.ComponentModel.EventBasedAsync; + System.ComponentModel.Primitives; + System.ComponentModel.TypeConverter; + System.Console; + System.Data.Common; + System.Data.DataSetExtensions; + System.Diagnostics.Contracts; + System.Diagnostics.Debug; + System.Diagnostics.DiagnosticSource; + System.Diagnostics.FileVersionInfo; + System.Diagnostics.Process; + System.Diagnostics.StackTrace; + System.Diagnostics.TextWriterTraceListener; + System.Diagnostics.Tools; + System.Diagnostics.TraceSource; + System.Diagnostics.Tracing; + System.Drawing.Primitives; + System.Dynamic.Runtime; + System.Formats.Asn1; + System.Formats.Tar; + System.Globalization; + System.Globalization.Calendars; + System.Globalization.Extensions; + System.IO; + System.IO.Compression; + System.IO.Compression.Brotli; + System.IO.Compression.ZipFile; + System.IO.FileSystem; + System.IO.FileSystem.AccessControl; + System.IO.FileSystem.DriveInfo; + System.IO.FileSystem.Primitives; + System.IO.FileSystem.Watcher; + System.IO.IsolatedStorage; + System.IO.MemoryMappedFiles; + System.IO.Pipes; + System.IO.Pipes.AccessControl; + System.IO.UnmanagedMemoryStream; + System.Linq; + System.Linq.Expressions; + System.Linq.Parallel; + System.Linq.Queryable; + System.Memory; + System.Net.Http; + System.Net.Http.Json; + System.Net.HttpListener; + System.Net.Mail; + System.Net.NameResolution; + System.Net.NetworkInformation; + System.Net.Ping; + System.Net.Primitives; + System.Net.Quic; + System.Net.Requests; + System.Net.Security; + System.Net.ServicePoint; + System.Net.Sockets; + System.Net.WebClient; + System.Net.WebHeaderCollection; + System.Net.WebProxy; + System.Net.WebSockets; + System.Net.WebSockets.Client; + System.Numerics.Vectors; + System.ObjectModel; + System.Private.CoreLib; + System.Private.DataContractSerialization; + System.Private.Uri; + System.Private.Xml; + System.Private.Xml.Linq; + System.Reflection; + System.Reflection.DispatchProxy; + System.Reflection.Emit; + System.Reflection.Emit.ILGeneration; + System.Reflection.Emit.Lightweight; + System.Reflection.Extensions; + System.Reflection.Metadata; + System.Reflection.Primitives; + System.Reflection.TypeExtensions; + System.Resources.Reader; + System.Resources.ResourceManager; + System.Resources.Writer; + System.Runtime; + System.Runtime.CompilerServices.Unsafe; + System.Runtime.CompilerServices.VisualC; + System.Runtime.Extensions; + System.Runtime.Handles; + System.Runtime.InteropServices; + System.Runtime.InteropServices.JavaScript; + System.Runtime.InteropServices.RuntimeInformation; + System.Runtime.Intrinsics; + System.Runtime.Loader; + System.Runtime.Numerics; + System.Runtime.Serialization.Formatters; + System.Runtime.Serialization.Json; + System.Runtime.Serialization.Primitives; + System.Runtime.Serialization.Xml; + System.Security.AccessControl; + System.Security.Claims; + System.Security.Cryptography; + System.Security.Cryptography.Algorithms; + System.Security.Cryptography.Cng; + System.Security.Cryptography.Csp; + System.Security.Cryptography.Encoding; + System.Security.Cryptography.OpenSsl; + System.Security.Cryptography.Primitives; + System.Security.Cryptography.X509Certificates; + System.Security.Principal; + System.Security.Principal.Windows; + System.Security.SecureString; + System.Text.Encoding; + System.Text.Encoding.CodePages; + System.Text.Encoding.Extensions; + System.Text.Encodings.Web; + System.Text.Json; + System.Text.RegularExpressions; + System.Threading; + System.Threading.Channels; + System.Threading.Overlapped; + System.Threading.Tasks; + System.Threading.Tasks.Dataflow; + System.Threading.Tasks.Extensions; + System.Threading.Tasks.Parallel; + System.Threading.Thread; + System.Threading.ThreadPool; + System.Threading.Timer; + System.Transactions.Local; + System.ValueTuple; + System.Web.HttpUtility; + System.Xml.ReaderWriter; + System.Xml.XDocument; + System.Xml.XmlDocument; + System.Xml.XmlSerializer; + System.Xml.XPath; + System.Xml.XPath.XDocument; + + + + ComInterfaceGenerator; + LibraryImportGenerator; + JSImportGenerator; + Microsoft.Interop.SourceGeneration; + System.Text.Json.SourceGeneration.Roslyn4.4; + System.Text.RegularExpressions.Generator; + + + Microsoft.Extensions.Caching.Abstractions; + Microsoft.Extensions.Caching.Memory; + Microsoft.Extensions.Configuration; + Microsoft.Extensions.Configuration.Abstractions; + Microsoft.Extensions.Configuration.Binder; + Microsoft.Extensions.Configuration.CommandLine; + Microsoft.Extensions.Configuration.EnvironmentVariables; + Microsoft.Extensions.Configuration.FileExtensions; + Microsoft.Extensions.Configuration.Ini; + Microsoft.Extensions.Configuration.Json; + Microsoft.Extensions.Configuration.UserSecrets; + Microsoft.Extensions.Configuration.Xml; + Microsoft.Extensions.DependencyInjection; + Microsoft.Extensions.DependencyInjection.Abstractions; + Microsoft.Extensions.Diagnostics; + Microsoft.Extensions.Diagnostics.Abstractions; + Microsoft.Extensions.FileProviders.Abstractions; + Microsoft.Extensions.FileProviders.Composite; + Microsoft.Extensions.FileProviders.Physical; + Microsoft.Extensions.FileSystemGlobbing; + Microsoft.Extensions.Hosting; + Microsoft.Extensions.Hosting.Abstractions; + Microsoft.Extensions.Http; + Microsoft.Extensions.Logging; + Microsoft.Extensions.Logging.Abstractions; + Microsoft.Extensions.Logging.Configuration; + Microsoft.Extensions.Logging.Console; + Microsoft.Extensions.Logging.Debug; + Microsoft.Extensions.Logging.EventLog; + Microsoft.Extensions.Logging.EventSource; + Microsoft.Extensions.Logging.TraceSource; + Microsoft.Extensions.Options; + Microsoft.Extensions.Options.ConfigurationExtensions; + Microsoft.Extensions.Options.DataAnnotations; + Microsoft.Extensions.Primitives; + System.Diagnostics.EventLog; + System.IO.Pipelines; + System.Security.Cryptography.Xml; + System.Threading.RateLimiting; + + + Microsoft.Win32.Registry.AccessControl; + Microsoft.Win32.SystemEvents; + System.CodeDom; + System.Configuration.ConfigurationManager; + System.Diagnostics.EventLog; + System.Diagnostics.PerformanceCounter; + System.DirectoryServices; + System.IO.Packaging; + System.Resources.Extensions; + System.Security.Cryptography.Pkcs; + System.Security.Cryptography.ProtectedData; + System.Security.Cryptography.Xml; + System.Security.Permissions; + System.Threading.AccessControl; + System.Windows.Extensions; + + + + + + + + + + + + + + + Open + + MicrosoftAspNetCore + + false + false + + true + + + + true + + false + + true + true + + enable + annotations + + true + + + + + $(TargetOS).$(Platform).$(Configuration) + $(ArtifactsDir)helix/ + $(TestArchiveRoot)tests/ + $(TestArchiveRoot)runonly/ + $(TestArchiveRoot)buildwasmapps/ + $(TestArchiveTestsRoot)$(OSPlatformConfig)/ + $(TestArchiveRoot)runtime/ + true + $(ArtifactsDir)bundles\ + $([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'Common')) + $([MSBuild]::NormalizeDirectory('$(CommonPathRoot)', 'src')) + $([MSBuild]::NormalizeDirectory('$(CommonPathRoot)', 'tests')) + + + + + + true + + true + true + + + + --interpreter + + + $(ArtifactsBinDir)dotnet-none\ + $([MSBuild]::NormalizeDirectory($(SdkWithNoWorkloadForTestingPath))) + $(SdkWithNoWorkloadForTestingPath)version-$(SdkVersionForWorkloadTesting).stamp + $(SdkWithNoWorkloadForTestingPath)workload.stamp + $(ArtifactsBinDir)dotnet-latest\ + $(ArtifactsBinDir)dotnet-latest\ + $([MSBuild]::NormalizeDirectory($(SdkWithWorkloadForTestingPath))) + $(SdkWithWorkloadForTestingPath)version-$(SdkVersionForWorkloadTesting).stamp + $(SdkWithWorkloadForTestingPath)workload.stamp + + + + $(MSBuildProjectName) + xunit + + Build + $(TestDependsOn);GenerateRunScript;RunTests + true + $(MSBuildThisFileDirectory)ILLinkDescriptors\ + true + true + + + + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleTestRunner', '$(Configuration)', '$(NetCoreAppCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidTestRunner', '$(Configuration)', '$(NetCoreAppCurrent)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmTestRunner', '$(Configuration)', '$(NetCoreAppCurrent)')) + $(OutputRID) + true + + + + + + + + + + + + + + en + $(MSBuildThisFileDirectory)xunit.runner.json + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + browser;android;ios;tvos + + + + false + + + + + true + $(MSBuildProjectName) + + + $(ArtifactsPath)\obj\$(ArtifactsProjectName)\ + $(ArtifactsPath)\obj\ + + + + <_ArtifactsPathSetEarly>true + + + $(ProjectExtensionsPathForSpecifiedProject) + + + + + + true + true + true + true + true + + + + <_DirectoryBuildPropsFile Condition="'$(_DirectoryBuildPropsFile)' == ''">Directory.Build.props + <_DirectoryBuildPropsBasePath Condition="'$(_DirectoryBuildPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildPropsFile)')) + $([System.IO.Path]::Combine('$(_DirectoryBuildPropsBasePath)', '$(_DirectoryBuildPropsFile)')) + + + + + + + + obj\ + $(BaseIntermediateOutputPath)\ + <_InitialBaseIntermediateOutputPath>$(BaseIntermediateOutputPath) + $(BaseIntermediateOutputPath) + + $([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', '$(MSBuildProjectExtensionsPath)')) + $(MSBuildProjectExtensionsPath)\ + true + <_InitialMSBuildProjectExtensionsPath Condition=" '$(ImportProjectExtensionProps)' == 'true' ">$(MSBuildProjectExtensionsPath) + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + C:\.tools\.nuget\packages\ + C:\.tools\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder + PackageReference + 6.8.1 + + + + + + + + + + + + <_RoslynTargetDirectoryName Condition="'$(MSBuildRuntimeType)' == 'Core'">netcore + <_RoslynTargetDirectoryName Condition="'$(MSBuildRuntimeType)' != 'Core'">net472 + <_RoslynTasksDirectory>$(MSBuildThisFileDirectory)..\tasks\$(_RoslynTargetDirectoryName)\ + $(_RoslynTasksDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll + true + $(_RoslynTasksDirectory)Microsoft.CSharp.Core.targets + $(_RoslynTasksDirectory)Microsoft.VisualBasic.Core.targets + + + + + + + + + + + + ..\tools\net8.0\Microsoft.DotNet.Build.Tasks.TargetFramework.dll + ..\tools\net472\Microsoft.DotNet.Build.Tasks.TargetFramework.dll + + + + + + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C:\.tools\.nuget\packages\xunit.runner.visualstudio\2.4.5 + C:\.tools\.nuget\packages\xunit.runner.console\2.4.2 + C:\.tools\.nuget\packages\xunit.analyzers\1.0.0 + C:\.tools\.nuget\packages\microsoft.net.illink.tasks\8.0.0-rc.1.23406.6 + C:\.tools\.nuget\packages\microsoft.dotnet.build.tasks.targetframework\8.0.0-beta.24426.2 + C:\.tools\.nuget\packages\stylecop.analyzers.unstable\1.2.0.406 + C:\.tools\.nuget\packages\microsoft.codeanalysis.netanalyzers\8.0.0-preview.23614.1 + C:\.tools\.nuget\packages\microsoft.codeanalysis.csharp.codestyle\4.5.0 + + + C:\.tools\.nuget\packages\xunit.runner.visualstudio\2.4.5 + C:\.tools\.nuget\packages\xunit.analyzers\1.0.0 + C:\.tools\.nuget\packages\microsoft.net.illink.tasks\8.0.0-rc.1.23406.6 + C:\.tools\.nuget\packages\microsoft.dotnet.build.tasks.targetframework\8.0.0-beta.24426.2 + C:\.tools\.nuget\packages\stylecop.analyzers.unstable\1.2.0.406 + C:\.tools\.nuget\packages\microsoft.codeanalysis.netanalyzers\8.0.0-preview.23614.1 + C:\.tools\.nuget\packages\microsoft.codeanalysis.csharp.codestyle\4.5.0 + C:\.tools\.nuget\packages\microsoft.dotnet.xunitconsolerunner\2.5.1-beta.24426.2 + + + C:\.tools\.nuget\packages\xunit.runner.visualstudio\2.4.5 + C:\.tools\.nuget\packages\xunit.analyzers\1.0.0 + C:\.tools\.nuget\packages\microsoft.net.illink.tasks\8.0.0-rc.1.23406.6 + C:\.tools\.nuget\packages\microsoft.dotnet.build.tasks.targetframework\8.0.0-beta.24426.2 + C:\.tools\.nuget\packages\stylecop.analyzers.unstable\1.2.0.406 + C:\.tools\.nuget\packages\microsoft.codeanalysis.netanalyzers\8.0.0-preview.23614.1 + C:\.tools\.nuget\packages\microsoft.codeanalysis.csharp.codestyle\4.5.0 + C:\.tools\.nuget\packages\microsoft.dotnet.xunitconsolerunner\2.5.1-beta.24426.2 + + + C:\.tools\.nuget\packages\xunit.runner.visualstudio\2.4.5 + C:\.tools\.nuget\packages\xunit.analyzers\1.0.0 + C:\.tools\.nuget\packages\microsoft.net.illink.tasks\8.0.0-rc.1.23406.6 + C:\.tools\.nuget\packages\microsoft.dotnet.build.tasks.targetframework\8.0.0-beta.24426.2 + C:\.tools\.nuget\packages\stylecop.analyzers.unstable\1.2.0.406 + C:\.tools\.nuget\packages\microsoft.codeanalysis.netanalyzers\8.0.0-preview.23614.1 + C:\.tools\.nuget\packages\microsoft.codeanalysis.csharp.codestyle\4.5.0 + C:\.tools\.nuget\packages\microsoft.dotnet.xunitconsolerunner\2.5.1-beta.24426.2 + + + C:\.tools\.nuget\packages\xunit.runner.visualstudio\2.4.5 + C:\.tools\.nuget\packages\xunit.analyzers\1.0.0 + C:\.tools\.nuget\packages\microsoft.net.illink.tasks\8.0.0-rc.1.23406.6 + C:\.tools\.nuget\packages\microsoft.dotnet.build.tasks.targetframework\8.0.0-beta.24426.2 + C:\.tools\.nuget\packages\stylecop.analyzers.unstable\1.2.0.406 + C:\.tools\.nuget\packages\microsoft.codeanalysis.netanalyzers\8.0.0-preview.23614.1 + C:\.tools\.nuget\packages\microsoft.codeanalysis.csharp.codestyle\4.5.0 + C:\.tools\.nuget\packages\microsoft.dotnet.xunitconsolerunner\2.5.1-beta.24426.2 + + + + + + + $(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.$(MSBuildThisFile) + $(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.$(MSBuildThisFile) + + + + + true + + + $(DefaultProjectConfiguration) + $(DefaultProjectPlatform) + + + WJProject + JavaScript + + + + + + + + $([MSBuild]::IsRunningFromVisualStudio()) + $([MSBuild]::GetToolsDirectory32())\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.props + $(MSBuildToolsPath)\NuGet.props + + + + + + true + + + + <_DirectoryPackagesPropsFile Condition="'$(_DirectoryPackagesPropsFile)' == ''">Directory.Packages.props + <_DirectoryPackagesPropsBasePath Condition="'$(_DirectoryPackagesPropsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildProjectDirectory)', '$(_DirectoryPackagesPropsFile)')) + $([MSBuild]::NormalizePath('$(_DirectoryPackagesPropsBasePath)', '$(_DirectoryPackagesPropsFile)')) + + + + true + + + + true + true + true + true + true + true + true + true + true + true + true + true + true + + + + + + + true + + + + Debug;Release + AnyCPU + Debug + AnyCPU + + + + + true + + + + Library + 512 + prompt + $(MSBuildProjectName) + $(MSBuildProjectName.Replace(" ", "_")) + true + + + + true + false + + + true + + + + + <_PlatformWithoutConfigurationInference>$(Platform) + + + x64 + + + x86 + + + ARM + + + arm64 + + + + + {CandidateAssemblyFiles} + $(AssemblySearchPaths);{HintPathFromItem} + $(AssemblySearchPaths);{TargetFrameworkDirectory} + $(AssemblySearchPaths);{RawFileName} + + + portable + + false + + true + true + + PackageReference + $(AssemblySearchPaths) + false + false + false + false + false + false + false + false + false + true + 1.0.3 + false + true + true + + + + + + $(MSBuildThisFileDirectory)GenerateDeps\GenerateDeps.proj + + + + + + $(MSBuildThisFileDirectory)..\..\..\Microsoft.NETCoreSdk.BundledVersions.props + + + + + $([MSBuild]::NormalizePath('$(MSBuildThisFileDirectory)..\..\')) + $([MSBuild]::EnsureTrailingSlash('$(NetCoreRoot)'))packs + <_NetFrameworkHostedCompilersVersion>4.8.0-7.24468.9 + 8.0 + 8.0 + 8.0.10 + 2.1 + 2.1.0 + 8.0.10-servicing.24466.10 + $(MSBuildThisFileDirectory)RuntimeIdentifierGraph.json + 8.0.110 + win-x64 + win-x64 + <_NETCoreSdkIsPreview>false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_KnownRuntimeIdentiferPlatforms Include="any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix;any;aot;freebsd;illumos;solaris;unix" /> + <_ExcludedKnownRuntimeIdentiferPlatforms Include="rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0;rhel.6;tizen.4.0.0;tizen.5.0.0" /> + + + + + false + + + <__WindowsAppSdkDefaultImageIncludes>**/*.png;**/*.bmp;**/*.jpg;**/*.dds;**/*.tif;**/*.tga;**/*.gif + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildBinPath)\DisableWorkloadResolver.sentinel + <__DisableWorkloadResolverSentinelPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildBinPath)\SdkResolvers\Microsoft.DotNet.MSBuildSdkResolver\DisableWorkloadResolver.sentinel + true + + + + + + + + + + + + + + + + + + + + + + + 9.0 + 17.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + <_SourceLinkPropsImported>true + + + + + + $(MSBuildThisFileDirectory)..\tools\net472\Microsoft.Build.Tasks.Git.dll + $(MSBuildThisFileDirectory)..\tools\core\Microsoft.Build.Tasks.Git.dll + + + + + + <_MicrosoftSourceLinkCommonAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.SourceLink.Common.dll + <_MicrosoftSourceLinkCommonAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\core\Microsoft.SourceLink.Common.dll + + + + true + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1701;1702 + + $(WarningsAsErrors);NU1605 + + + $(DefineConstants); + $(DefineConstants)TRACE + + + + + + + + + + + + + + + + + + $(TargetsForTfmSpecificContentInPackage);PackTool + + + + + + $(TargetsForTfmSpecificContentInPackage);_PackProjectToolValidation + + + + + + MSBuild:Compile + $(DefaultXamlRuntime) + Designer + + + MSBuild:Compile + $(DefaultXamlRuntime) + Designer + + + + + + + + + + + + + + + + + + <_WpfCommonNetFxReference Include="WindowsBase" /> + <_WpfCommonNetFxReference Include="PresentationCore" /> + <_WpfCommonNetFxReference Include="PresentationFramework" /> + <_WpfCommonNetFxReference Include="System.Xaml" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'"> + 4.0 + + <_WpfCommonNetFxReference Include="UIAutomationClient" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> + <_WpfCommonNetFxReference Include="UIAutomationClientSideProviders" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> + <_WpfCommonNetFxReference Include="UIAutomationProvider" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> + <_WpfCommonNetFxReference Include="UIAutomationTypes" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.0'" /> + <_WpfCommonNetFxReference Include="System.Windows.Controls.Ribbon" Condition="'$(_TargetFrameworkVersionValue)' != '' And '$(_TargetFrameworkVersionValue)' >= '4.5'" /> + + + <_SDKImplicitReference Include="@(_WpfCommonNetFxReference)" Condition="'$(UseWPF)' == 'true'" /> + <_SDKImplicitReference Include="System.Windows.Forms" Condition="('$(UseWindowsForms)' == 'true') " /> + <_SDKImplicitReference Include="WindowsFormsIntegration" Condition=" ('$(UseWindowsForms)' == 'true') And ('$(UseWPF)' == 'true') " /> + + + + + + <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.0" /> + <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v1.1" /> + <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.0" /> + <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.1" /> + <_UnsupportedNETCoreAppTargetFramework Include=".NETCoreApp,Version=v2.2" /> + + <_UnsupportedNETStandardTargetFramework Include="@(SupportedNETStandardTargetFramework)" /> + + <_UnsupportedNETFrameworkTargetFramework Include=".NETFramework,Version=v2.0" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + <_TargetFrameworkVersionValue>0.0 + <_WindowsDesktopSdkTargetFrameworkVersionFloor>3.0 + + + + + + $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-freebsd;$(NetFrameworkMinimum) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + Debug + AnyCPU + $(Platform) + + + + + 1.0.0 + $(VersionPrefix)-$(VersionSuffix) + $(VersionPrefix) + + + $(AssemblyName) + $(Authors) + $(AssemblyName) + $(AssemblyName) + + + + + + + + true + false + true + <_PlatformToAppendToOutputPath Condition="'$(AppendPlatformToOutputPath)' == 'true'">$(PlatformName)\ + + + + + + + + <_DefaultArtifactsPathPropsImported>true + + + + true + true + <_ArtifactsPathLocationType>ExplicitlySpecified + + + + + $(_DirectoryBuildPropsBasePath)\artifacts + true + <_ArtifactsPathLocationType>DirectoryBuildPropsFolder + + + + $(MSBuildProjectDirectory)\artifacts + <_ArtifactsPathLocationType>ProjectFolder + + + + $(MSBuildProjectName) + bin + publish + package + + + $(Configuration.ToLowerInvariant()) + + $(ArtifactsPivots)_$(TargetFramework.ToLowerInvariant()) + + $(ArtifactsPivots)_$(RuntimeIdentifier.ToLowerInvariant()) + + + + $(ArtifactsPath)\$(ArtifactsBinOutputName)\$(ArtifactsProjectName)\ + $(ArtifactsPath)\obj\$(ArtifactsProjectName)\ + $(ArtifactsPath)\$(ArtifactsPublishOutputName)\$(ArtifactsProjectName)\$(ArtifactsPivots)\ + + + + $(ArtifactsPath)\$(ArtifactsBinOutputName)\ + $(ArtifactsPath)\obj\ + $(ArtifactsPath)\$(ArtifactsPublishOutputName)\$(ArtifactsPivots)\ + + + $(BaseOutputPath)$(ArtifactsPivots)\ + $(BaseIntermediateOutputPath)$(ArtifactsPivots)\ + + $(ArtifactsPath)\$(ArtifactsPackageOutputName)\$(Configuration.ToLowerInvariant())\ + + + bin\ + $(BaseOutputPath)\ + $(BaseOutputPath)$(_PlatformToAppendToOutputPath)$(Configuration)\ + $(OutputPath)\ + + + + obj\ + $(BaseIntermediateOutputPath)\ + $(BaseIntermediateOutputPath)$(_PlatformToAppendToOutputPath)$(Configuration)\ + $(IntermediateOutputPath)\ + + + + $(OutputPath) + + + + $(DefaultItemExcludes);$(OutputPath)/** + $(DefaultItemExcludes);$(IntermediateOutputPath)/** + + + $(DefaultItemExcludes);$(ArtifactsPath)/** + + $(DefaultItemExcludes);bin/**;obj/** + + + + $(OutputPath)$(TargetFramework.ToLowerInvariant())\ + + + $(IntermediateOutputPath)$(TargetFramework.ToLowerInvariant())\ + + + + + + + + + + + + + + + + + + + + $(MSBuildToolsPath)\Microsoft.CSharp.targets + $(MSBuildToolsPath)\Microsoft.VisualBasic.targets + $(MSBuildThisFileDirectory)..\targets\Microsoft.NET.Sdk.FSharpTargetsShim.targets + + $(MSBuildToolsPath)\Microsoft.Common.targets + + + + + + + + $(MSBuildToolsPath)\Microsoft.CSharp.CrossTargeting.targets + + + + + $(MSBuildToolsPath)\Microsoft.CSharp.CurrentVersion.targets + + + + + + + + true + + + + + + + + $(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.CSharp.DesignTime.targets + + + + + + true + true + + + + + + + <_ArcadeBeforeCommonTargetsImported>true + + + + + + true + $(IsShipping) + false + $(IsShipping) + $(IsShipping) + + + + + + <_BuildNumber>$(OfficialBuildId) + <_BuildNumber Condition="'$(OfficialBuildId)' == ''">$([System.DateTime]::Now.ToString(yyyyMMdd)).1 + + <_BuildNumberYY>$(_BuildNumber.Substring(2, 2)) + <_BuildNumberMM>$(_BuildNumber.Substring(4, 2)) + <_BuildNumberDD>$(_BuildNumber.Substring(6, 2)) + <_BuildNumberR>$(_BuildNumber.Substring(9)) + + $([MSBuild]::Add($([MSBuild]::Add($([MSBuild]::Multiply($(_BuildNumberYY), 1000)), $([MSBuild]::Multiply($(_BuildNumberMM), 50)))), $(_BuildNumberDD))) + + $(_BuildNumberR) + $(VersionSuffixBuildOfTheDay.PadLeft(2, $([System.Convert]::ToChar(`0`)))) + + <_PatchNumber>$([MSBuild]::Add($([MSBuild]::Multiply($([MSBuild]::Subtract($(VersionSuffixDateStamp), $([MSBuild]::ValueOrDefault($(VersionBaseShortDate), 19000)))), 100)), $(_BuildNumberR))) + + + + + $(MajorVersion).$(MinorVersion).$([MSBuild]::ValueOrDefault('$(PatchVersion)', '0')) + <_OriginalVersionPrefix>$(VersionPrefix) + + + + <_VersionPrefixMajor>$(VersionPrefix.Split('.')[0]) + <_VersionPrefixMinor>$(VersionPrefix.Split('.')[1]) + $(_VersionPrefixMajor).$(_VersionPrefixMinor).$([MSBuild]::ValueOrDefault($(_PatchNumber), '0')) + + + + + + <_PreReleaseLabel>$(PreReleaseVersionLabel) + <_PreReleaseLabel Condition="'$(SemanticVersioningV1)' != 'true' and '$(PreReleaseVersionIteration)' != ''">$(PreReleaseVersionLabel).$(PreReleaseVersionIteration) + <_PreReleaseLabel Condition="'$(SemanticVersioningV1)' == 'true'">$(PreReleaseVersionLabel)$(PreReleaseVersionIteration) + <_PreReleaseLabel Condition="'$(ContinuousIntegrationBuild)' == 'true' and '$(OfficialBuild)' != 'true'">ci + <_PreReleaseLabel Condition="'$(ContinuousIntegrationBuild)' != 'true'">dev + <_BuildNumberLabels Condition="'$(VersionSuffixDateStamp)' != '' and '$(SemanticVersioningV1)' != 'true'">.$(VersionSuffixDateStamp).$(VersionSuffixBuildOfTheDay) + <_BuildNumberLabels Condition="'$(VersionSuffixDateStamp)' != '' and '$(SemanticVersioningV1)' == 'true'">-$(VersionSuffixDateStamp)-$(VersionSuffixBuildOfTheDayPadded) + + + $(_PreReleaseLabel).final + $(_PreReleaseLabel)-final + $(_PreReleaseLabel)$(_BuildNumberLabels) + + $(_PreReleaseLabel)$(_BuildNumberLabels) + + $(_PreReleaseLabel)$(_BuildNumberLabels) + + $(NoWarn);NU5105 + + + + false + + + + 1.0.0 + $(VersionPrefix) + $(Version)-$(VersionSuffix) + + + + + + <_EnableTargetFrameworkFiltering>false + <_EnableTargetFrameworkFiltering Condition="'$(NoTargetFrameworkFiltering)' != 'true' and '$(DotNetTargetFrameworkFilter)' != ''">true + + + <_OriginalTargetFrameworks Condition="'$(TargetFrameworks)' != ''">$(TargetFrameworks) + <_OriginalTargetFrameworks Condition="'$(TargetFramework)' != ''">$(TargetFramework) + <_FilteredTargetFrameworks>$([MSBuild]::Unescape($([MSBuild]::FilterTargetFrameworks('$(_OriginalTargetFrameworks)', '$(DotNetTargetFrameworkFilter)')))) + + $(_FilteredTargetFrameworks) + $(_FilteredTargetFrameworks) + + true + + + + + + + + + + + + + + + + + + + + <_SuppressAllTargets>false + <_SuppressAllTargets Condition="'$(DotNetBuildFromSource)' == 'true' and '$(ExcludeFromSourceBuild)' == 'true'">true + <_SuppressAllTargets Condition="'$(ExcludeFromBuild)' == 'true'">true + + true + $(MSBuildThisFileDirectory)NoRestore.targets + + false + + + + + + + + + + <_ThisProjectBuildMetadata Include="$(MSBuildProjectFullPath)"> + @(_TargetFrameworkInfo) + @(_TargetFrameworkInfo->'%(TargetFrameworkMonikers)') + @(_TargetFrameworkInfo->'%(TargetPlatformMonikers)') + $(_AdditionalPropertiesFromProject) + false + @(_TargetFrameworkInfo->'%(IsRidAgnostic)') + + + false + $(Platform) + $(Platforms) + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + <_TargetFrameworkNormalized Include="@(_TargetFramework->Trim()->Distinct())" /> + <_InnerBuildProjects Include="$(MSBuildProjectFile)"> + TargetFramework=%(_TargetFrameworkNormalized.Identity) + + + + + + + + + + + + true + + + + + + + + + + + + + Build + + + + + + + + + + + + $([MSBuild]::IsRunningFromVisualStudio()) + $([MSBuild]::GetToolsDirectory32())\..\..\..\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets + $(MSBuildToolsPath)\NuGet.targets + + + + + + true + + NuGet.Build.Tasks.dll + + false + + true + true + + false + + WarnAndContinue + + $(BuildInParallel) + true + + <_RestoreSolutionFileUsed Condition=" '$(_RestoreSolutionFileUsed)' == '' AND '$(SolutionDir)' != '' AND $(MSBuildProjectFullPath.EndsWith('.metaproj')) == 'true' ">true + + $(MSBuildInteractive) + + true + + true + + <_CentralPackageVersionsEnabled Condition="'$(ManagePackageVersionsCentrally)' == 'true' AND '$(CentralPackageVersionsFileImported)' == 'true'">true + + + + <_GenerateRestoreGraphProjectEntryInputProperties>ExcludeRestorePackageImports=true + + <_GenerateRestoreGraphProjectEntryInputProperties Condition=" '$(RestoreUseCustomAfterTargets)' == 'true' "> + $(_GenerateRestoreGraphProjectEntryInputProperties); + NuGetRestoreTargets=$(MSBuildThisFileFullPath); + RestoreUseCustomAfterTargets=$(RestoreUseCustomAfterTargets); + CustomAfterMicrosoftCommonCrossTargetingTargets=$(MSBuildThisFileFullPath); + CustomAfterMicrosoftCommonTargets=$(MSBuildThisFileFullPath); + + + <_GenerateRestoreGraphProjectEntryInputProperties Condition=" '$(_RestoreSolutionFileUsed)' == 'true' "> + $(_GenerateRestoreGraphProjectEntryInputProperties); + _RestoreSolutionFileUsed=true; + SolutionDir=$(SolutionDir); + SolutionName=$(SolutionName); + SolutionFileName=$(SolutionFileName); + SolutionPath=$(SolutionPath); + SolutionExt=$(SolutionExt); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(ContinueOnError) + false + + + + + + + + + + + + + + $(ContinueOnError) + false + + + + + + + + + + + + + + $(ContinueOnError) + false + + + + + + + + + + + + + <_FrameworkReferenceForRestore Include="@(FrameworkReference)" Condition="'%(FrameworkReference.IsTransitiveFrameworkReference)' != 'true'" /> + + + + + + + + + + + + + + + + + + + + + exclusionlist + + + + <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" Condition=" '%(RestoreGraphProjectInputItems.Extension)' == '.csproj' Or '%(RestoreGraphProjectInputItems.Extension)' == '.vbproj' Or '%(RestoreGraphProjectInputItems.Extension)' == '.fsproj' Or '%(RestoreGraphProjectInputItems.Extension)' == '.nuproj' Or '%(RestoreGraphProjectInputItems.Extension)' == '.proj' Or '%(RestoreGraphProjectInputItems.Extension)' == '.msbuildproj' Or '%(RestoreGraphProjectInputItems.Extension)' == '.vcxproj' " /> + + + + <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" Condition=" '%(RestoreGraphProjectInputItems.Extension)' != '.metaproj' AND '%(RestoreGraphProjectInputItems.Extension)' != '.shproj' AND '%(RestoreGraphProjectInputItems.Extension)' != '.vcxitems' AND '%(RestoreGraphProjectInputItems.Extension)' != '.vdproj' AND '%(RestoreGraphProjectInputItems.Extension)' != '' " /> + + + + <_FilteredRestoreGraphProjectInputItemsTmp Include="@(RestoreGraphProjectInputItems)" /> + + + + + + + + + + + + + + + + + + + + + + + + <_GenerateRestoreGraphProjectEntryInput Include="@(FilteredRestoreGraphProjectInputItems)" Condition=" '$(RestoreRecursive)' != 'true' " /> + <_GenerateRestoreGraphProjectEntryInput Include="@(_RestoreProjectPathItems)" Condition=" '$(RestoreRecursive)' == 'true' " /> + + + + + + + + + + + + + + + + + + + + <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())" Condition=" '$(RestoreProjectStyle)' != 'Unknown' "> + RestoreSpec + $(MSBuildProjectFullPath) + + + + + + + netcoreapp1.0 + + + + + + + + + + + + + + + + + + + <_HasPackageReferenceItems Condition="'@(PackageReference)' != ''">true + + + <_HasPackageReferenceItems Condition="@(PackageReference->Count()) > 0">true + + + + + + + <_HasPackageReferenceItems /> + + + + + + true + + + + + + <_RestoreProjectFramework /> + <_TargetFrameworkToBeUsed Condition=" '$(_TargetFrameworkOverride)' == '' ">$(TargetFrameworks) + + + + + + + <_RestoreTargetFrameworksOutputFiltered Include="$(_RestoreProjectFramework.Split(';'))" /> + + + + + + <_RestoreTargetFrameworkItems Include="$(TargetFrameworks.Split(';'))" /> + + + <_RestoreTargetFrameworkItems Include="$(_TargetFrameworkOverride)" /> + + + + + + $(SolutionDir) + + + + + + + + + + + + + + + + + + + + + + + <_RestoreSettingsPerFramework Include="$([System.Guid]::NewGuid())"> + $(RestoreAdditionalProjectSources) + $(RestoreAdditionalProjectFallbackFolders) + $(RestoreAdditionalProjectFallbackFoldersExcludes) + + + + + + + + $(MSBuildProjectExtensionsPath) + + + + + + + <_RestoreProjectName>$(MSBuildProjectName) + <_RestoreProjectName Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(AssemblyName)' != '' ">$(AssemblyName) + <_RestoreProjectName Condition=" '$(PackageReferenceCompatibleProjectStyle)' == 'true' AND '$(PackageId)' != '' ">$(PackageId) + + + + <_RestoreProjectVersion>1.0.0 + <_RestoreProjectVersion Condition=" '$(Version)' != '' ">$(Version) + <_RestoreProjectVersion Condition=" '$(PackageVersion)' != '' ">$(PackageVersion) + + + + <_RestoreCrossTargeting>true + + + + <_RestoreSkipContentFileWrite Condition=" '$(TargetFrameworks)' == '' AND '$(TargetFramework)' == '' ">true + + + + <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())"> + ProjectSpec + $(_RestoreProjectVersion) + $(MSBuildProjectFullPath) + $(MSBuildProjectFullPath) + $(_RestoreProjectName) + $(_OutputSources) + $(_OutputFallbackFolders) + $(_OutputPackagesPath) + $(RestoreProjectStyle) + $(RestoreOutputAbsolutePath) + $(RuntimeIdentifiers);$(RuntimeIdentifier) + $(RuntimeSupports) + $(_RestoreCrossTargeting) + $(RestoreLegacyPackagesDirectory) + $(ValidateRuntimeIdentifierCompatibility) + $(_RestoreSkipContentFileWrite) + $(_OutputConfigFilePaths) + $(TreatWarningsAsErrors) + $(WarningsAsErrors) + $(WarningsNotAsErrors) + $(NoWarn) + $(RestorePackagesWithLockFile) + $(NuGetLockFilePath) + $(RestoreLockedMode) + <_CentralPackageVersionsEnabled>$(_CentralPackageVersionsEnabled) + $(CentralPackageVersionOverrideEnabled) + $(CentralPackageTransitivePinningEnabled) + $(NuGetAudit) + $(NuGetAuditLevel) + $(NuGetAuditMode) + + + + + <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())"> + ProjectSpec + $(MSBuildProjectFullPath) + $(MSBuildProjectFullPath) + $(_RestoreProjectName) + $(_OutputSources) + $(RestoreOutputAbsolutePath) + $(_OutputFallbackFolders) + $(_OutputPackagesPath) + $(_CurrentProjectJsonPath) + $(RestoreProjectStyle) + $(_OutputConfigFilePaths) + + + + + <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())"> + ProjectSpec + $(MSBuildProjectFullPath) + $(MSBuildProjectFullPath) + $(_RestoreProjectName) + $(RestoreProjectStyle) + $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config + $(MSBuildProjectDirectory)\packages.config + $(RestorePackagesWithLockFile) + $(NuGetLockFilePath) + $(RestoreLockedMode) + $(_OutputSources) + $(SolutionDir) + $(_OutputRepositoryPath) + $(_OutputConfigFilePaths) + $(_OutputPackagesPath) + @(_RestoreTargetFrameworksOutputFiltered) + + + + + <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())"> + ProjectSpec + $(MSBuildProjectFullPath) + $(MSBuildProjectFullPath) + $(_RestoreProjectName) + $(RestoreProjectStyle) + @(_RestoreTargetFrameworksOutputFiltered) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_RestoreGraphEntry Include="$([System.Guid]::NewGuid())"> + TargetFrameworkInformation + $(MSBuildProjectFullPath) + $(PackageTargetFallback) + $(AssetTargetFallback) + $(TargetFramework) + $(TargetFrameworkIdentifier) + $(TargetFrameworkVersion) + $(TargetFrameworkMoniker) + $(TargetFrameworkProfile) + $(TargetPlatformMoniker) + $(TargetPlatformIdentifier) + $(TargetPlatformVersion) + $(TargetPlatformMinVersion) + $(CLRSupport) + $(RuntimeIdentifierGraphPath) + $(WindowsTargetPlatformMinVersion) + + + + + + + + + + + + + <_RestoreProjectPathItems Include="$(_RestoreGraphAbsoluteProjectPaths)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_GenerateRestoreProjectPathWalkOutputs Include="$(MSBuildProjectFullPath)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_RestorePackagesPathOverride>$(RestorePackagesPath) + + + + + + <_RestorePackagesPathOverride>$(RestoreRepositoryPath) + + + + + + <_RestoreSourcesOverride>$(RestoreSources) + + + + + + <_RestoreFallbackFoldersOverride>$(RestoreFallbackFolders) + + + + + + + + + + + + + <_TargetFrameworkOverride Condition=" '$(TargetFrameworks)' == '' ">$(TargetFramework) + + + + + + <_ValidProjectsForRestore Include="$(MSBuildProjectFullPath)" /> + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + $(MSBuildExtensionsPath)\Microsoft.TestPlatform.Build.dll + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + <_TargetFramework Include="$(TargetFrameworks)" /> + + + + + + + + + + + + + + + + + + + VSTest + + + + + + true + + + + + + + + + + <_OriginalInnerBuildProjects Include="@(_InnerBuildProjects)" /> + <_InnerBuildProjects Remove="@(_InnerBuildProjects)" /> + <_InnerBuildProjects Include="@(InnerBuildProjectsWithBestTargetFramework)" /> + + + + + + <_InnerBuildProjects Remove="@(_InnerBuildProjects)" /> + <_InnerBuildProjects Include="@(_OriginalInnerBuildProjects)" /> + + + + + <_BuildTargetFramework Include="$(BuildTargetFramework)" Condition="'$(BuildTargetFramework)' != ''" /> + <_BuildTargetFramework Include="$([MSBuild]::Unescape($([System.Text.RegularExpressions.Regex]::Replace('$(TargetFrameworks)', '(-[^;]+)', ''))))" Condition="'$(BuildTargetFramework)' == ''" /> + + + <_BuildTargetFrameworkWithTargetOS Include="@(_BuildTargetFramework->Distinct()->'%(Identity)-$(TargetOS)')" Condition="!$([System.String]::Copy('%(Identity)').StartsWith('net4'))" /> + <_BuildTargetFrameworkWithTargetOS Include="@(_BuildTargetFramework->Distinct())" Condition="$([System.String]::Copy('%(Identity)').StartsWith('net4'))" /> + + + + + + + <_BestTargetFramework Project="$(MSBuildProjectFile)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + <_DirectoryBuildTargetsFile Condition="'$(_DirectoryBuildTargetsFile)' == ''">Directory.Build.targets + <_DirectoryBuildTargetsBasePath Condition="'$(_DirectoryBuildTargetsBasePath)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), '$(_DirectoryBuildTargetsFile)')) + $([System.IO.Path]::Combine('$(_DirectoryBuildTargetsBasePath)', '$(_DirectoryBuildTargetsFile)')) + + + + + MicrosoftAspNetCore + Open + $(TestStrongNameKeyId) + + + + + true + true + true + + + + + $(MSBuildProjectDirectory)\Resources\Strings.resx + System + SR + FxResources.$(AssemblyName).$(StringResourcesClassName) + + true + + true + + + + + + + + + + + + + + false + + + + + false + + + + false + $(RunAnalyzers) + + + true + + + + + + + + + + + + + + + + + + <_BeforeCommonTargetsHookUsed>true + <_BeforeCommonTargetsHookUsed Condition="'$(_ArcadeBeforeCommonTargetsImported)' != 'true'">false + + + + + + + + + + + + + + + + $(__DeployProjectOutput) + + true + + + + + + $(ArtifactsShippingPackagesDir) + $(ArtifactsNonShippingPackagesDir) + $(VisualStudioBuildPackagesDir) + false + true + + + + License.txt + + + $(MSBuildThisFileDirectory)Licenses\$(PackageLicenseExpressionInternal).txt + + + + + + + + + + + $(CopyrightMicrosoft) + + + + + + + false + true + + + + + + + $(MSBuildThisFileDirectory)snk/MSFT.snk + $(MicrosoftPublicKey) + b03f5f7f11d50a3a + + + + + $(MSBuildThisFileDirectory)snk/35MSSharedLib1024.snk + $(MicrosoftSharedPublicKey) + 31BF3856AD364E35 + + + + + $(MSBuildThisFileDirectory)snk/AspNetCore.snk + $(MicrosoftAspNetCorePublicKey) + adb9793829ddae60 + false + + + + + + $(MSBuildThisFileDirectory)snk/ECMA.snk + $(ECMAPublicKey) + b77a5c561934e089 + + + + + + $(MSBuildThisFileDirectory)snk/Open.snk + $(OpenPublicKey) + cc7b13ffcd2ddd51 + false + false + + + + + + $(MSBuildThisFileDirectory)snk/SilverlightPlatformPublicKey.snk + $(SilverlightPlatformPublicKey) + 7cec85d7bea7798e + + + + + + $(PrepareForBuildDependsOn);VerifyBuildFlags + + + + + + + + + + + + + + + + + + + + + + $(IntermediateOutputPath)$(MSBuildProjectName).InternalsVisibleTo$(DefaultLanguageSourceExtension) + + + + false + + + + + <_InternalsVisibleToAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute"> + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' != ''">%(InternalsVisibleTo.Identity), PublicKey=%(InternalsVisibleTo.Key) + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' != ''">%(InternalsVisibleTo.Identity), PublicKey=$(PublicKey) + <_Parameter1 Condition="'%(InternalsVisibleTo.Key)' == '' and '$(PublicKey)' == ''">%(InternalsVisibleTo.Identity) + + + + + + + + + + + + + + + + + + + + true + MSBuild:_GenerateResxSource + + + + + + + + + + + + + + %(EmbeddedResource.Namespace).%(EmbeddedResource.Filename) + + + + + + + + + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'C#'">cs + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'VB'">vb + <_EmbeddedResourceSourceExtension Condition="'$(Language)' == 'F#'">fs + + + + + + $(IntermediateOutputPath)%(EmbeddedResourceSG.ClassName).$(_EmbeddedResourceSourceExtension) + $(IntermediateOutputPath)%(EmbeddedResourceSG.ManifestResourceName).$(_EmbeddedResourceSourceExtension) + + + + + + + + + + + + + true + + + + + + false + + + + + + + + + + + + + + + + + $(IntermediateOutputPath)$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension) + true + + + + $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb + + + + + $(NuspecPackageId) + $(RepositoryUrl) + + + + + + + + + <_LicenseElement /> + <_LicenseElement Condition="'$(PackageLicenseExpression)' != ''"> + $(PackageLicenseExpression) + + <_LicenseElement Condition="'$(PackageLicenseFile)' != ''"> + $(PackageLicenseFile) + + <_LicenseFileElement /> + <_LicenseFileElement Condition="'$(PackageLicenseFile)' != ''"> + + + <_TagsElement /> + <_TagsElement Condition="'$(PackageTags)' != ''"> + $(PackageTags.Replace(';', ' ')) + + <_IconUrlElement /> + <_IconUrlElement Condition="'$(PackageIcon)' == '' and '$(PackageIconUrl)' != ''"> + $(PackageIconUrl) + + <_IconElement /> + <_IconElement Condition="'$(PackageIcon)' != ''"> + $(PackageIcon) + + <_IconFileElement /> + <_IconFileElement Condition="'$(PackageIcon)' != ''"> + + + <_ReleaseNotesElement /> + <_ReleaseNotesElement Condition="'$(PackageReleaseNotes)' != ''"> + $(PackageReleaseNotes) + + <_CommonMetadataElements> + $(PackageId) + $(PackageDescription) + $(PackageVersion) + $(Authors) + $(PackageRequireLicenseAcceptance) + $(_TagsElement) + $(_LicenseElement) + $(_IconElement) + $(_IconUrlElement) + $(_ReleaseNotesElement) + $(PackageProjectUrl)$(Copyright)$(DevelopmentDependency)$(Serviceable) + <_CommonFileElements> + $(_IconFileElement) + $(_LicenseFileElement) + + + + + + + + + + + @(NuspecProperty, ';') + + + + + + + $(PrivateRepositoryUrl) + $(SourceRevisionId) + + + + + *$(MSBuildProjectName)* + + + + $(TargetsForTfmSpecificContentInPackage);_AddSourceFilesToSourcePackage + + + + + <_LanguageDirName>$(DefaultLanguageSourceExtension.TrimStart('.')) + + + <_File Remove="@(_File)" /> + <_File Include="$(MSBuildProjectDirectory)\**\*$(DefaultLanguageSourceExtension)" TargetDir="contentFiles/$(_LanguageDirName)/$(TargetFramework)" BuildAction="Compile" /> + + + + + + + + + false + false + false + + + + + + + $([System.Text.RegularExpressions.Regex]::Replace($(BUILD_REPOSITORY_URI), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) + $(BUILD_REPOSITORY_URI) + file://$(RepoRoot) + + + $(BUILD_SOURCEVERSION) + 0000000000000000000000000000000000000000 + + + git + + + + + + false + <_TranslateUrlPattern>(https://dnceng%40dev\.azure\.com/dnceng/internal/_git|https://dev\.azure\.com/dnceng/internal/_git|https://dnceng\.visualstudio\.com/internal/_git|dnceng%40vs-ssh\.visualstudio\.com:v3/dnceng/internal|git%40ssh\.dev\.azure\.com:v3/dnceng/internal|https://devdiv\.visualstudio\.com/devdiv/_git)/([^/-]+)-(.+) + <_TranslateUrlReplacement>https://github.com/$2/$3 + + + + + $([MSBuild]::ValueOrDefault(`%(SourceRoot.ScmRepositoryUrl)`, ``).ToLower().Replace(`-trusted`,``)) + $([System.Text.RegularExpressions.Regex]::Replace($(ScmRepositoryUrl), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) + + + + $([MSBuild]::ValueOrDefault(`%(SourceRoot.ScmRepositoryUrl)`, ``).ToLower().Replace(`-trusted`,``)) + + + $([System.Text.RegularExpressions.Regex]::Replace(%(SourceRoot.ScmRepositoryUrl), $(_TranslateUrlPattern), $(_TranslateUrlReplacement))) + + + + + + + $(BeforePack);_AddSourcePackageSourceLinkFile + + + + + + + + + + + + <_SourcePackageSourceLinkTargetsFileName>$([MSBuild]::ValueOrDefault($(SourcePackageSourceLinkTargetsFileName), '$(PackageId).targets')) + <_SourcePackageSourceLinkTargetsFilePath>$(IntermediateOutputPath)$(_SourcePackageSourceLinkTargetsFileName) + + + + + + + + + + + + + + + + + + + + + + + + + + 42.42.42.42424 + + 42.42.42.42 + + + + _InitializeAssemblyVersion + $(GenerateNativeVersionFileDependsOn); + InitializeSourceControlInformationFromSourceControlManager + + + + + + <_SourceBuildInfo> %40Commit: $(SourceRevisionId) + + + $(IntermediateOutputPath)_version.h + <_WindowsFileVersion>$(FileVersion.Replace('.', ',')) + <_Windows_VER_DEBUG>0 + <_Windows_VER_DEBUG Condition="'$(Configuration)'=='Debug'">VS_FF_DEBUG + <_NativeVersionFileContents> + + + + + $(ArtifactsObjDir)_version.c + + <_NativeVersionFileContents> + + + + + + + + + + + + + + + + + true + + true + + + + + + + + true + + + + + + + + + + + + + + + $([MSBuild]::NormalizeDirectory('$(CoreCLROverridePath)')) + $([MSBuild]::NormalizeDirectory('$(MonoOverridePath)')) + $([MSBuild]::NormalizeDirectory('$(LibrariesOverridePath)')) + $([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigurationsOverridePath)')) + + $([MSBuild]::NormalizeDirectory('$(RuntimeArtifactsPath)')) + $([MSBuild]::NormalizeDirectory('$(RuntimeArtifactsPath)')) + $(TargetOS)-$(LibrariesConfiguration)-$(TargetArchitecture) + + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'coreclr', '$(TargetOS).$(TargetArchitecture).$(CoreCLRConfiguration)')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts', 'bin', 'mono', '$(TargetOS).$(TargetArchitecture).$(MonoConfiguration)')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts')) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'artifacts')) + + + + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'sharedFramework')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'crossgen2')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'ilc-published')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', '$(BuildArchitecture)', 'ilc')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'aotsdk')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'build')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'ILLink.Tasks', '$(Configuration)')) + $([MSBuild]::NormalizeDirectory('$(MonoArtifactsPath)', 'cross', $(TargetOS)-$(TargetArchitecture.ToLowerInvariant()))) + $([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'obj', 'grpcserver', 'docker')) + $([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'packages', '$(LibrariesConfiguration)')) + $([MSBuild]::NormalizeDirectory('$(LibrariesPackagesDir)', 'Shipping')) + $([MSBuild]::NormalizeDirectory('$(LibrariesPackagesDir)', 'NonShipping')) + $([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigurationsArtifactsPath)', 'packages', '$(LibrariesConfiguration)')) + $([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigPackagesDir)', 'Shipping')) + $([MSBuild]::NormalizeDirectory('$(LibrariesAllConfigPackagesDir)', 'NonShipping')) + $(MicrosoftNetCoreAppRefPackRefDir) + $([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'ref', '$(NetCoreAppCurrent)')) + $(MicrosoftNetCoreAppRuntimePackRidLibTfmDir) + $([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'runtime', '$(NetCoreAppCurrent)-$(LibrariesTargetOSConfigurationArchitecture)')) + $([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'bin', 'native', '$(NetCoreAppCurrent)-$(LibrariesTargetOSConfigurationArchitecture)')) + x64 + x86 + x64 + x64 + $([MSBuild]::NormalizePath('$(DotNetHostBinDir)', 'apphost$(ExeSuffix)')) + $([MSBuild]::NormalizePath('$(CoreCLRArtifactsPath)', 'corehost', 'singlefilehost$(ExeSuffix)')) + + + + + + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)','PDB')) + + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)','sharedFramework')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRSharedFrameworkDir)','PDB')) + $([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)','$(CoreCLRCrossTargetComponentDirName)','sharedFramework')) + + + $([MSBuild]::NormalizeDirectory('$(MonoArtifactsPath)')) + + + <_nativeAotRuntimeFiles Include="$(CoreCLRAotSdkDir)*" /> + + true + + + + + + + + true + + <_systemPrivateCoreLib Include="$(CoreCLRArtifactsPath)System.Private.CoreLib.dll" Condition="Exists('$(CoreCLRArtifactsPath)System.Private.CoreLib.dll')" /> + <_systemPrivateCoreLib Include="$(CoreCLRArtifactsPath)IL/System.Private.CoreLib.dll" Condition="Exists('$(CoreCLRArtifactsPath)IL/System.Private.CoreLib.dll') and '@(_systemPrivateCoreLib)' == ''" /> + + + + + + + runtime/$(CoreCLRCrossTargetComponentDirName)_$(TargetArchitecture)/native + true + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + <_PythonLocationScript>-c "import sys; sys.stdout.write(sys.executable)" + + + + + + + + + + + + + + + + + + + + + $(PackageRID) + + + $(PackageRID) + + + + + + + $(MajorVersion).$(MinorVersion) + + Microsoft%AE .NET + + $(ProductVersion) + $(ProductVersion) + $(ProductVersion)-$(VersionSuffix) + + + + + + + + + + + + + + + + $(Description) + Internal implementation package not meant for direct consumption. Please do not reference directly. + true + $(RuntimePackageDisclaimer) %0A$(PackageDescription) + $(RuntimePackageDisclaimer) + + $(PackageDescription) + + + + + + + $(IsReferenceAssemblyProject) + + + + + + + + + + <_FileVersionMaj>$(FileVersion.Split('.')[0]) + <_FileVersionMin>$(FileVersion.Split('.')[1]) + <_FileVersionBld>$(FileVersion.Split('.')[2]) + <_FileVersionRev>$(FileVersion.Split('.')[3]) + $(_FileVersionMaj).$([MSBuild]::Add($(_FileVersionMin), 100)).$(_FileVersionBld).$(_FileVersionRev) + + + + + + + false + None + + + + <_ResolvedProjectReferencePaths Condition="'%(_ResolvedProjectReferencePaths.SkipUseReferenceAssembly)' == 'true'" ReferenceAssembly="" /> + + + + + + <_transitiveProjectReferenceWithProjectName Include="@(ProjectReference->Metadata('NuGetPackageId'))" OriginalIdentity="%(Identity)" /> + <_transitiveIncludedProjectReferenceWithProjectName Include="@(_transitiveProjectReferenceWithProjectName)" Exclude="@(DefaultReferenceExclusion)" /> + <_transitiveExcludedProjectReferenceWithProjectName Include="@(_transitiveProjectReferenceWithProjectName)" Exclude="@(_transitiveIncludedProjectReferenceWithProjectName)" /> + + + + + + + <_targetingPackReferenceExclusion Include="$(TargetName)" /> + <_targetingPackReferenceExclusion Include="@(_ResolvedProjectReferencePaths->Metadata('Filename'))" /> + <_targetingPackReferenceExclusion Include="@(DefaultReferenceExclusion)" /> + + + + <_targetingPackReferenceExclusion Include="@(NetFxReference)" /> + <_targetingPackReferenceExclusion Include="netstandard" /> + + + <_targetingPackReferenceWithProjectName Include="@(Reference->WithMetadataValue('ExternallyResolved', 'true')->Metadata('Filename'))" OriginalIdentity="%(Identity)" /> + <_targetingPackIncludedReferenceWithProjectName Include="@(_targetingPackReferenceWithProjectName)" Exclude="@(_targetingPackReferenceExclusion)" /> + <_targetingPackExcludedReferenceWithProjectName Include="@(_targetingPackReferenceWithProjectName)" Exclude="@(_targetingPackIncludedReferenceWithProjectName)" /> + + + + <_targetingPackAnalyzerReferenceWithProjectName Include="@(Analyzer->WithMetadataValue('ExternallyResolved', 'true')->Metadata('Filename'))" OriginalIdentity="%(Identity)" /> + <_targetingPackIncludedAnalyzerReferenceWithProjectName Include="@(_targetingPackAnalyzerReferenceWithProjectName)" Exclude="@(_targetingPackReferenceExclusion)" /> + <_targetingPackExcludedAnalyzerReferenceWithProjectName Include="@(_targetingPackAnalyzerReferenceWithProjectName)" Exclude="@(_targetingPackIncludedAnalyzerReferenceWithProjectName)" /> + + + + + + + true + true + true + true + true + true + -$(VersionSuffix) + $(MajorVersion).$(MinorVersion) + $(ProductBandVersion).$(PatchVersion) + $(ProductionVersion)$(ProductVersionSuffix) + $(ProductVersion) + $(SharedFrameworkNugetVersion) + Runtime/$(SharedFrameworkNugetVersion)/ + + $(ProductVersion) + $(ProductVersion) + $(ProductVersion) + $(ProductVersion) + + + + + false + $(NetCoreAppCurrent)-$(TargetOS)-$(Configuration)-$(TargetArchitecture) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'native', '$(NetCoreAppCurrentBuildSettings)')) + $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'testhost', '$(NetCoreAppCurrentBuildSettings)')) + $([MSBuild]::NormalizeDirectory('$(NetCoreAppCurrentTestHostPath)', 'shared', '$(MicrosoftNetCoreAppFrameworkName)', '$(ProductVersion)')) + $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'netstandard.library.ref', '$(NETStandardLibraryRefVersion)', 'ref', 'netstandard2.1')) + $(NoWarn);nullable + $(NoWarn);nullable;CA1052 + + $(NoWarn);SYSLIB0003;SYSLIB0004;SYSLIB0015;SYSLIB0017;SYSLIB0021;SYSLIB0022;SYSLIB0023;SYSLIB0025;SYSLIB0032;SYSLIB0036 + + $(NoWarn);CA1510;CA1511;CA1512;CA1513;CA1845;CA1846;CA1847 + + $(WarningsAsErrors.Replace('NU1605', '')) + + false + + true + + true + + + + + false + false + + $(AssemblyName) + + + + <_Parameter1>Serviceable + <_Parameter2>True + + + <_Parameter1>PreferInbox + <_Parameter2>True + + + + + <_Parameter1>$(AssemblyName) + + + <_Parameter1>en-US + + + <_Parameter1>true + + + + + + true + true + true + true + + + | + Or + + + + <_Parameter1>System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory $(AssemblyAttributeOrOperator) System.Runtime.InteropServices.DllImportSearchPath.System32 + <_Parameter1_IsLiteral>true + + + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_unsupportedOSPlatforms Include="$(UnsupportedOSPlatforms)" /> + <_supportedOSPlatforms Include="$(SupportedOSPlatforms)" /> + + + + <_Parameter1>%(_unsupportedOSPlatforms.Identity) + + + + + + + <_Parameter1>%(_supportedOSPlatforms.Identity) + + + + + + + + + + + + + + + + $(ArtifactsObjDir)runtime_version.h + <_RuntimeVersionFileContents> + + + + + + + + + + + + + + + + + + + + true + true + true + + + + + $(LibrariesAllBinArtifactsPath) + $(LibrariesAllRefArtifactsPath) + $(LibrariesAllBinArtifactsPath) + + + + + + $(NetCoreAppCurrentTestHostSharedFrameworkPath) + $(NetCoreAppCurrentTestHostSharedFrameworkPath) + + + + $(MicrosoftNetCoreAppRuntimePackNativeDir) + $(MicrosoftNetCoreAppRefPackRefDir) + $(MicrosoftNetCoreAppRuntimePackRidLibTfmDir) + + + + + + $(MicrosoftNetCoreAppFrameworkName) + true + + + true + $(UseLocalTargetingRuntimePack) + false + + false + + + + + + + + + + + + + + + false + + + + + + $(AssemblySearchPaths);$(MicrosoftNetCoreAppRefPackRefDir.TrimEnd('/\')) + $(DesignTimeAssemblySearchPaths);$(MicrosoftNetCoreAppRefPackRefDir.TrimEnd('/\')) + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(MicrosoftNetCoreAppRuntimePackDir) + + + + + + + + + + + + + + + + + + + + true + + + + true + false + false + + false + + + + $(IbcOptimizationDataDir)linux\ + $(IbcOptimizationDataDir)windows\ + + + <_optimizationDataAssembly Include="$(IbcOptimizationDataDir)**\$(TargetFileName)" /> + + + full + + + + + + + <_FindDependencies>false + + + + + false + + + + <_coreLibProjectReference Include="@(ProjectReference->WithMetadataValue('Identity', '$(CoreLibProject)'))" /> + + Configuration=$(CoreCLRConfiguration) + Configuration=$(MonoConfiguration) + + + + + + + + + + + + + <_resolvedCoreLibProjectReference Include="@(_ResolvedProjectReferencePaths->WithMetadataValue('MSBuildSourceProjectFile','$(CoreLibProject)'))" /> + + + + + + + + true + false + + + RunnerTemplate.cmd + RunnerTemplate.sh + AppleHelixRunnerTemplate.sh + AppleRunnerTemplate.sh + AndroidRunnerTemplate.sh + WasiRunnerAOTTemplate.sh + WasiRunnerTemplate.sh + WasiRunnerTemplate.cmd + WasmRunnerAOTTemplate.sh + WasmRunnerTemplate.sh + WasmRunnerTemplate.cmd + BionicRunnerTemplate.sh + BionicRunnerTemplate.cmd + BionicRunOnDevice.sh + + + $(MSBuildThisFileDirectory)$(RunScriptInputName) + $(MSBuildThisFileDirectory)$(InnerRunScriptInputName) + RunTests.sh + build-apple-app.sh + RunTests.cmd + $(AssemblyName).sh + $([MSBuild]::NormalizePath('$(OutDir)', '$(RunScriptOutputName)')) + $([MSBuild]::NormalizePath('$(OutDir)', '$(InnerRunScriptOutputName)')) + $([MSBuild]::NormalizePath('$(OutDir)', 'TestEnv.txt')) + %RUNTIME_PATH%\ + $RUNTIME_PATH/ + $(RunScriptHostDir)dotnet.exe + $(RunScriptHostDir)dotnet + + + + <_withCategories Condition="'$(WithCategories)' != ''">;$(WithCategories.Trim(';')) + <_withoutCategories Condition="'$(WithoutCategories)' != ''">;$(WithoutCategories.Trim(';')) + all + <_withCategories Condition="'$(TestScope)' == 'outerloop'">$(_withCategories);OuterLoop + <_withoutCategories Condition="'$(ArchiveTests)' == 'true'">$(_withoutCategories);IgnoreForCI + <_withoutCategories Condition="'$(TestScope)' == '' or '$(TestScope)' == 'innerloop'">$(_withoutCategories);OuterLoop + <_withoutCategories Condition="!$(_withCategories.Contains('failing'))">$(_withoutCategories);failing + + + + <_MonoAotCrossCompilerPath>$([MSBuild]::NormalizePath($(MonoAotCrossDir), 'mono-aot-cross')) + <_MonoAotCrossCompilerPath Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">$(_MonoAotCrossCompilerPath).exe + + + + + + PrepareForRun + + + + + + + + + <_ZipSourceDirectory>$(OutDir) + <_ZipSourceDirectory Condition="'$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi' or '$(TestSingleFile)' == 'true'">$(BundleDir) + + + + + + + + + + + + $(RunScriptCommand) $RSP_FILE + $(RunScriptCommand) %RSP_FILE% + + $([MSBuild]::Escape('$(RunScriptCommand)')) + + + + $(TestDebugger) $(RunScriptCommand) + $(TestDebugger) /debugexe $(RunScriptCommand) + + + + + + + + + + $([MSBuild]::NormalizePath('$(RunScriptOutputDirectory)', '$(RunScriptOutputName)')) + + + + + + + <_AndroidArchitecture Condition="'$(TargetArchitecture)' == 'x64'">x86_64 + <_AndroidArchitecture Condition="'$(TargetArchitecture)' == 'x86'">x86 + <_AndroidArchitecture Condition="'$(TargetArchitecture)' == 'arm64'">arm64-v8a + <_AndroidArchitecture Condition="'$(TargetArchitecture)' == 'arm'">armeabi-v7a + <_BionicTestEnv> +ASSEMBLY_NAME=$(AssemblyName).dll +TEST_ARCH=$(_AndroidArchitecture) + + + + + + + "$(RunScriptOutputPath)" + + $(RunTestsCommand) --runtime-path "$(NetCoreAppCurrentTestHostPath.TrimEnd('\/'))" + $(RunTestsCommand) --rsp-file "$(TestRspFile)" + + + "$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) $(TargetOS) $(TestProjectName) + $(RunTestsCommand) $(Configuration) $(AdditionalXHarnessArguments) + $(RunTestsCommand) $(AdditionalXHarnessArguments) + "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) + + + + + + + $(OutputPath)$(TestResultsName) + One or more tests failed while running tests from '$(TestProjectName)'. + $(TestRunErrorMessage) Please check $(TestResultsPath) for details! + + + + + + + + + + + + true + true + + + + $(OutDir) + + + $(DotNetTool) + test $(TargetPath) --settings $(OutDir).runsettings + + + $(DevEnvDir)Extensions\TestPlatform\vstest.console.exe + $(TargetPath) --settings:$(OutDir).runsettings + + + + true + testResults.xml + true + + + <_depsFileArgument Condition="'$(GenerateDependencyFile)' == 'true'">--depsfile $(AssemblyName).deps.json + "$(RunScriptHost)" exec --runtimeconfig $(AssemblyName).runtimeconfig.json $(_depsFileArgument) xunit.console.dll + xunit.console.exe + $(RunScriptCommand) $(TargetFileName) + $(RunScriptCommand) -xml $(TestResultsName) + $(RunScriptCommand) -nologo + $(RunScriptCommand) -nocolor + $(RunScriptCommand) -noappdomain + $(RunScriptCommand) -maxthreads 1 + $(RunScriptCommand) -verbose + + + + $(RunScriptCommand) -method $(XUnitMethodName) + $(RunScriptCommand) -class $(XUnitClassName) + + $(RunScriptCommand)$(_withCategories.Replace(';', ' -trait category=')) + $(RunScriptCommand)$(_withoutCategories.Replace(';', ' -notrait category=')) + + $(RunScriptCommand) $(XUnitOptions) + + + $(_withoutCategories.Replace(';', '%0dcategory=')) + + + + $(RunScriptCommand) -xml $(TestResultsName) + + + + + + + + + <_testRunnerConfigDestFile Include="$(TargetDir)xunit.console.exe.config" /> + + + + + + + + + <_xunitConsoleNetCoreExclude Condition="'$(GenerateDependencyFile)' != 'true' and '$(XunitConsoleNetCore21AppPath)' != ''" Include="$([System.IO.Path]::GetDirectoryName('$(XunitConsoleNetCore21AppPath)'))\xunit.console.deps.json" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + $(MSBuildThisFileDirectory)netfx.exe.config + + + + + $(MSBuildThisFileDirectory).runsettings + $(ArtifactsObjDir)$(TargetOS)-$(Configuration)-$(TargetArchitecture).runsettings + $(OutDir).runsettings + false + $(RunSettingsIntermediateOutputFilePath) + $(RunSettingsAppOutputFilePath) + $(ArtifactsObjDir)vscode/.runsettings + + $(RunSettingsAppOutputFilePath) + + $(RunSettingsIntermediateOutputFilePath) + GenerateRunSettingsFile;$(PrepareForRunDependsOn) + + + <_testFilter Condition="'$(_withCategories)' != ''">$(_withCategories.Replace(';', '&amp;category=')) + <_testFilter Condition="'$(_withoutCategories)' != ''">$(_testFilter)$(_withoutCategories.Replace(';', '&amp;category!=')) + <_testFilter>$(_testFilter.Trim('&amp;')) + + + + $([System.IO.File]::ReadAllText('$(RunSettingsInputFilePath)')) + $(RunSettingsFileContent.Replace('$$MAXCPUCOUNT$$', '1')) + $(RunSettingsFileContent.Replace('$$MAXCPUCOUNT$$', '0')) + + $(RunSettingsFileContent.Replace('$$TARGETPLATFORM$$', '$(TargetArchitecture)')) + $(RunSettingsFileContent.Replace('$$TARGETPLATFORM$$', '')) + $(RunSettingsFileContent.Replace('$$COVERAGE_INCLUDE$$', '$(CoverageIncludeFilter)') + .Replace('$$COVERAGE_EXCLUDEBYFILE$$', '$(CoverageExcludeByFileFilter)') + .Replace('$$COVERAGE_INCLUDEDIRECTORY$$', '$(CoverageIncludeDirectoryFilter)') + .Replace('$$COVERAGE_ENABLED$$', '$([MSBuild]::ValueOrDefault('$(Coverage)', 'false'))') + .Replace('$$DISABLEPARALLELIZATION$$', '$([MSBuild]::ValueOrDefault('$(TestDisableParallelization)', 'false'))') + .Replace('$$DISABLEAPPDOMAIN$$', '$([MSBuild]::ValueOrDefault('$(TestDisableAppDomain)', 'false'))') + .Replace('$$TESTCASEFILTER$$', '$(_testFilter)') + .Replace('$$DOTNETHOSTPATH$$', '$(NetCoreAppCurrentTestHostPath)$([System.IO.Path]::GetFileName('$(DotNetTool)'))')) + + + + + + $(RunSettingsOutputFilePath) + + + + + + + + <_ProjectDirectoryUnderSourceDir>$(MSBuildProjectDirectory.SubString($(LibrariesProjectRoot.Length))) + $(_ProjectDirectoryUnderSourceDir.SubString(0, $(_ProjectDirectoryUnderSourceDir.IndexOfAny("\\/")))) + + + + + + + + + + + + + @(CoverageInclude -> '[%(Identity)]*', ',') + + + @(CoverageExcludeByFile -> '%(Identity)', ',') + + + @(CoverageIncludeDirectory -> '$(NetCoreAppCurrentTestHostPath)%(Identity)', ',') + + + + + + coverage.opencover.xml + $(CoverageOutputPath) + $([MSBuild]::NormalizeDirectory('$(OutDir)', 'report')) + "$(DotNetTool)" coverlet "$(TargetFileName)" --target "$(RunScriptHost)" --targetargs "$(RunScriptCommand.Replace('"$(RunScriptHost)"', ''))" --format "opencover" --output "$(CoverageOutputPath)" --verbosity "normal" --use-source-link --does-not-return-attribute DoesNotReturn + $(RunScriptCommand) --exclude-by-file @(CoverageExcludeByFile -> '"%(Identity)"', ' --exclude-by-file ') + $(RunScriptCommand) --include-directory @(CoverageIncludeDirectory -> '"$(RunScriptHostDir)%(Identity)"', ' --include-directory ') + $(RunScriptCommand) --include-test-assembly + $(RunScriptCommand) --include @(CoverageInclude -> '"[%(Identity)]*"', ' --include ') + "$(DotNetTool)" reportgenerator "-reports:$(CoverageReportInputPath)" "-targetdir:$(CoverageReportDir.TrimEnd('\/'))" "-reporttypes:Html" "-verbosity:Info" + + + + + + + + + + + + + %(CoverageOutputFile.Identity) + Html + Info + $([MSBuild]::NormalizeDirectory('$(OutDir)', 'TestResults', 'report')) + "$(DotNetTool)" reportgenerator "-reports:$(CoverageReportInputPath)" "-targetdir:$(CoverageReportDir.TrimEnd('\/'))" "-reporttypes:$(CoverageReportTypes)" "-verbosity:$(CoverageReportVerbosity)" + + + + + + + + + + + + + + + x86_64 + + + i386 + + + armhf + + + arm64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + $(NoWarn);CS0436 + + + + + + + + + + true + + + + + + + true + + + + + + + + + + + + + + TargetFramework + TargetFrameworks + + + true + + + + + + + + + <_MainReferenceTargetForBuild Condition="'$(BuildProjectReferences)' == '' or '$(BuildProjectReferences)' == 'true'">.projectReferenceTargetsOrDefaultTargets + <_MainReferenceTargetForBuild Condition="'$(_MainReferenceTargetForBuild)' == ''">GetTargetPath + $(_MainReferenceTargetForBuild);GetNativeManifest;$(_RecursiveTargetForContentCopying);$(ProjectReferenceTargetsForBuild) + + <_MainReferenceTargetForPublish Condition="'$(NoBuild)' == 'true'">GetTargetPath + <_MainReferenceTargetForPublish Condition="'$(NoBuild)' != 'true'">$(_MainReferenceTargetForBuild) + GetTargetFrameworks;$(_MainReferenceTargetForPublish);GetNativeManifest;GetCopyToPublishDirectoryItems;$(ProjectReferenceTargetsForPublish) + + $(ProjectReferenceTargetsForBuild);$(ProjectReferenceTargetsForPublish) + $(ProjectReferenceTargetsForRebuild);$(ProjectReferenceTargetsForPublish) + GetCopyToPublishDirectoryItems;$(ProjectReferenceTargetsForGetCopyToPublishDirectoryItems) + + + .default;$(ProjectReferenceTargetsForBuild) + + + Clean;$(ProjectReferenceTargetsForClean) + $(ProjectReferenceTargetsForClean);$(ProjectReferenceTargetsForBuild);$(ProjectReferenceTargetsForRebuild) + + + + + + + + + + + + + + + + + + + + + + + + + $(MSBuildThisFileDirectory)..\tools\ + net8.0 + net472 + $(MicrosoftNETBuildTasksDirectoryRoot)$(MicrosoftNETBuildTasksTFM)\ + $(MicrosoftNETBuildTasksDirectory)Microsoft.NET.Build.Tasks.dll + + Microsoft.NETCore.App;NETStandard.Library + + + + <_IsExecutable Condition="'$(OutputType)' == 'Exe' or '$(OutputType)'=='WinExe'">true + $(_IsExecutable) + + + + netcoreapp2.2 + + + false + DotnetTool + $(RuntimeIdentifiers);$(PackAsToolShimRuntimeIdentifiers) + + + Preview + + + + + + + + + + + + + <_SourceLinkSdkSubDir>build + <_SourceLinkSdkSubDir Condition="'$(IsCrossTargetingBuild)' == 'true'">buildMultiTargeting + + true + + + + + + + + local + + + + + + + + + + + git + + + + + + + + + + + + + + + + + + + + + + + + + + $(RepositoryUrl) + $(ScmRepositoryUrl) + + + + %(SourceRoot.ScmRepositoryUrl) + + + + + + + + true + + + + + + <_SourceLinkGitHubAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.SourceLink.GitHub.dll + <_SourceLinkGitHubAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\core\Microsoft.SourceLink.GitHub.dll + + + + + $(SourceLinkUrlInitializerTargets);_InitializeGitHubSourceLinkUrl + $(SourceControlManagerUrlTranslationTargets);TranslateGitHubUrlsInSourceControlInformation + + + + + + + + + + + + + + + <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" /> + + + + + + + + + + + + + + + <_SourceLinkGitLabAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.SourceLink.GitLab.dll + <_SourceLinkGitLabAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\core\Microsoft.SourceLink.GitLab.dll + + + + + $(SourceLinkUrlInitializerTargets);_InitializeGitLabSourceLinkUrl + $(SourceControlManagerUrlTranslationTargets);TranslateGitLabUrlsInSourceControlInformation + + + + + + + + + + + + + + + <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" /> + + + + + + + + + + + + + + + <_SourceLinkAzureReposGitAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.SourceLink.AzureRepos.Git.dll + <_SourceLinkAzureReposGitAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\core\Microsoft.SourceLink.AzureRepos.Git.dll + + + + + $(SourceLinkUrlInitializerTargets);_InitializeAzureReposGitSourceLinkUrl + $(SourceControlManagerUrlTranslationTargets);TranslateAzureReposGitUrlsInSourceControlInformation + + + + + + + + + + + + + + + <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" /> + + + + + + + + + + + + + + + <_SourceLinkBitbucketAssemblyFile Condition="'$(MSBuildRuntimeType)' != 'Core'">$(MSBuildThisFileDirectory)..\tools\net472\Microsoft.SourceLink.Bitbucket.Git.dll + <_SourceLinkBitbucketAssemblyFile Condition="'$(MSBuildRuntimeType)' == 'Core'">$(MSBuildThisFileDirectory)..\tools\core\Microsoft.SourceLink.Bitbucket.Git.dll + + + + + $(SourceLinkUrlInitializerTargets);_InitializeBitbucketGitSourceLinkUrl + $(SourceControlManagerUrlTranslationTargets);TranslateBitbucketGitUrlsInSourceControlInformation + + + + + + + + + + + + + + + <_TranslatedSourceRoot Remove="@(_TranslatedSourceRoot)" /> + + + + + + + + + + + + + + + + <_PublishTargetFrameworks Include="$(TargetFrameworks)" /> + + + + + + + <_GetAllRuntimeIdentifiersTargetFrameworks Include="$(TargetFrameworks)" /> + <_AllRuntimeIdentifiers Include="$(RuntimeIdentifiers);$(RuntimeIdentifier)" /> + + + + + + @(_AllRuntimeIdentifiers->Distinct()) + + + + + + + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {F184B08F-C81C-45F6-A57F-5ABD9991F28F} + + + + + + $([System.IO.Path]::GetDirectoryName($(BundledRuntimeIdentifierGraphFile)))/PortableRuntimeIdentifierGraph.json + + + + + + + $(MSBuildThisFileDirectory)..\tools\net472\Microsoft.DotNet.ApiCompat.Task.dll + $(MSBuildThisFileDirectory)..\tools\net8.0\Microsoft.DotNet.ApiCompat.Task.dll + + + + + + + + + + + + + + <_UseRoslynToolsetPackage Condition="'$(ApiCompatUseRoslynToolsetPackagePath)' == 'true' and '@(PackageReference->AnyHaveMetadataValue('Identity', 'Microsoft.Net.Compilers.Toolset'))' == 'true'">true + + $([System.IO.Path]::GetDirectoryName('$(CSharpCoreTargetsPath)')) + + $(RoslynTargetsPath) + + $([System.IO.Path]::Combine('$(RoslynAssembliesPath)', 'bincore')) + + + + $(GenerateCompatibilitySuppressionFile) + + + + + + + <_apiCompatDefaultProjectSuppressionFile>$([MSBuild]::NormalizePath('$(MSBuildProjectDirectory)', 'CompatibilitySuppressions.xml')) + + $(_apiCompatDefaultProjectSuppressionFile) + + + + + + + + + + + $(IntermediateOutputPath)$(MSBuildThisFileName).semaphore + + CollectApiCompatInputs;_GetReferencePathFromInnerProjects;$(RunPackageValidationDependsOn) + + + + $(PackageId) + $([MSBuild]::NormalizePath('$(NuGetPackageRoot)', '$(PackageValidationBaselineName.ToLower())', '$(PackageValidationBaselineVersion)', '$(PackageValidationBaselineName.ToLower()).$(PackageValidationBaselineVersion).nupkg')) + <_packageValidationBaselinePath Condition="'$(DisablePackageBaselineValidation)' != 'true'">$(PackageValidationBaselinePath) + + + <_PackageTargetPath Include="@(NuGetPackOutput->WithMetadataValue('Extension', '.nupkg'))" Condition="!$([System.String]::new('%(Identity)').EndsWith('.symbols.nupkg'))" /> + + + + + + + + + + $(TargetPlatformMoniker) + + + + + + + + + + + + + + + $(MSBuildThisFileDirectory)..\..\NuGet.Build.Tasks.Pack\buildCrossTargeting\NuGet.Build.Tasks.Pack.targets + $(MSBuildThisFileDirectory)..\..\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets + true + + + + + + ..\CoreCLR\NuGet.Build.Tasks.Pack.dll + ..\Desktop\NuGet.Build.Tasks.Pack.dll + + + + + + + + + $(AssemblyName) + $(Version) + true + _LoadPackInputItems; _GetTargetFrameworksOutput; _WalkEachTargetPerFramework; _GetPackageFiles; $(GenerateNuspecDependsOn) + $(Description) + Package Description + false + true + true + tools + lib + content;contentFiles + $(BeforePack); _IntermediatePack; GenerateNuspec; $(PackDependsOn) + true + symbols.nupkg + DeterminePortableBuildCapabilities + false + false + .dll; .exe; .winmd; .json; .pri; .xml + $(DefaultAllowedOutputExtensionsInPackageBuildOutputFolder) ;$(AllowedOutputExtensionsInPackageBuildOutputFolder) + .pdb; .mdb; $(AllowedOutputExtensionsInPackageBuildOutputFolder); $(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder) + .pdb + false + + + $(GenerateNuspecDependsOn) + + + Build;$(GenerateNuspecDependsOn) + + + + + + + $(TargetFramework) + + + + $(MSBuildProjectExtensionsPath) + $(BaseOutputPath)$(Configuration)\ + $(BaseIntermediateOutputPath)$(Configuration)\ + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFrameworks /> + + + + + + <_TargetFrameworks Include="$(_ProjectFrameworks.Split(';'))" /> + + + + + + + <_PackageFilesToDelete Include="@(_OutputPackItems)" /> + + + + + + false + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + $(PrivateRepositoryUrl) + $(SourceRevisionId) + + + + + + + $(MSBuildProjectFullPath) + + + + + + + + + + + + + + + + + <_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)"> + $(PackageVersion) + 1.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + <_TfmWithDependenciesSuppressed Include="$(TargetFramework)" Condition="'$(SuppressDependenciesWhenPacking)' == 'true'" /> + + + + + + $(TargetFramework) + + + + + + + + + + + + + %(TfmSpecificPackageFile.RecursiveDir) + %(TfmSpecificPackageFile.BuildAction) + + + + + + <_TargetPathsToSymbolsWithTfm Include="@(DebugSymbolsProjectOutputGroupOutput)"> + $(TargetFramework) + + + + <_TargetPathsToSymbolsWithTfm Include="@(TfmSpecificDebugSymbolsFile)" /> + + + + + + <_PathToPriFile Include="$(ProjectPriFullPath)"> + $(ProjectPriFullPath) + $(ProjectPriFileName) + + + + + + + <_PackageFilesToExclude Include="@(Content)" Condition="'%(Content.Pack)' == 'false'" /> + + + + <_PackageFiles Include="@(Content)" Condition=" %(Content.Pack) != 'false' "> + Content + + <_PackageFiles Include="@(Compile)" Condition=" %(Compile.Pack) == 'true' "> + Compile + + <_PackageFiles Include="@(None)" Condition=" %(None.Pack) == 'true' "> + None + + <_PackageFiles Include="@(EmbeddedResource)" Condition=" %(EmbeddedResource.Pack) == 'true' "> + EmbeddedResource + + <_PackageFiles Include="@(ApplicationDefinition)" Condition=" %(ApplicationDefinition.Pack) == 'true' "> + ApplicationDefinition + + <_PackageFiles Include="@(Page)" Condition=" %(Page.Pack) == 'true' "> + Page + + <_PackageFiles Include="@(Resource)" Condition=" %(Resource.Pack) == 'true' "> + Resource + + <_PackageFiles Include="@(SplashScreen)" Condition=" %(SplashScreen.Pack) == 'true' "> + SplashScreen + + <_PackageFiles Include="@(DesignData)" Condition=" %(DesignData.Pack) == 'true' "> + DesignData + + <_PackageFiles Include="@(DesignDataWithDesignTimeCreatableTypes)" Condition=" %(DesignDataWithDesignTimeCreatableTypes.Pack) == 'true' "> + DesignDataWithDesignTimeCreatableTypes + + <_PackageFiles Include="@(CodeAnalysisDictionary)" Condition=" %(CodeAnalysisDictionary.Pack) == 'true' "> + CodeAnalysisDictionary + + <_PackageFiles Include="@(AndroidAsset)" Condition=" %(AndroidAsset.Pack) == 'true' "> + AndroidAsset + + <_PackageFiles Include="@(AndroidResource)" Condition=" %(AndroidResource.Pack) == 'true' "> + AndroidResource + + <_PackageFiles Include="@(BundleResource)" Condition=" %(BundleResource.Pack) == 'true' "> + BundleResource + + + + + + \ No newline at end of file diff --git a/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj b/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj index ab32e2805f0b6..7bda16c26b224 100644 --- a/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj +++ b/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true true - true + false 1 A lightweight abstraction for a payload of bytes. Provides methods for converting between strings, streams, JSON, and bytes. diff --git a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj index dbd3fa7d7ebab..8d83fafb23f29 100644 --- a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj +++ b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj @@ -2,7 +2,7 @@ $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) true - true + false 1 Provides extension methods for System.Net.Http.HttpClient and System.Net.Http.HttpContent that perform automatic serialization and deserialization using System.Text.Json. diff --git a/src/libraries/System.Private.CoreLib/src/System/Collections/Generic/HashSet.cs b/src/libraries/System.Private.CoreLib/src/System/Collections/Generic/HashSet.cs index 668550bddf66b..7ed827d67faf6 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Collections/Generic/HashSet.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Collections/Generic/HashSet.cs @@ -68,7 +68,7 @@ public HashSet(IEqualityComparer? comparer) // We use a non-randomized comparer for improved perf, falling back to a randomized comparer if the // hash buckets become unbalanced. if (typeof(T) == typeof(string) && - NonRandomizedStringEqualityComparer.GetStringComparer(_comparer!) is IEqualityComparer stringComparer) + NonRandomizedStringEqualityComparer.GetStringComparer(_comparer) is IEqualityComparer stringComparer) { _comparer = (IEqualityComparer)stringComparer; } @@ -91,7 +91,7 @@ public HashSet(IEnumerable collection, IEqualityComparer? comparer) : this ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection); } - if (collection is HashSet otherAsHashSet && EqualityComparersAreEqual(this, otherAsHashSet)) + if (collection is HashSet otherAsHashSet && EffectiveEqualityComparersAreEqual(this, otherAsHashSet)) { ConstructFrom(otherAsHashSet); } @@ -144,6 +144,8 @@ protected HashSet(SerializationInfo info, StreamingContext context) /// Initializes the HashSet from another HashSet with the same element type and equality comparer. private void ConstructFrom(HashSet source) { + Debug.Assert(EffectiveEqualityComparersAreEqual(this, source), "must use identical effective comparers."); + if (source.Count == 0) { // As well as short-circuiting on the rest of the work done, @@ -929,6 +931,11 @@ public IEqualityComparer Comparer } } + /// + /// Similar to but surfaces the actual comparer being used to hash entries. + /// + internal IEqualityComparer EffectiveComparer => _comparer ?? EqualityComparer.Default; + /// Ensures that this hash set can hold the specified number of elements without growing. public int EnsureCapacity(int capacity) { @@ -1439,7 +1446,13 @@ private unsafe void SymmetricExceptWithEnumerable(IEnumerable other) /// internal static bool EqualityComparersAreEqual(HashSet set1, HashSet set2) => set1.Comparer.Equals(set2.Comparer); -#endregion + /// + /// Checks if effective equality comparers are equal. This is used for algorithms that + /// require that both collections use identical hashing implementations for their entries. + /// + internal static bool EffectiveEqualityComparersAreEqual(HashSet set1, HashSet set2) => set1.EffectiveComparer.Equals(set2.EffectiveComparer); + + #endregion private struct Entry { diff --git a/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/CounterGroup.cs b/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/CounterGroup.cs index 71af1ba5b2097..9af21bac67498 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/CounterGroup.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/CounterGroup.cs @@ -14,6 +14,10 @@ namespace System.Diagnostics.Tracing #endif internal sealed class CounterGroup { + // This is the opt-in switch for a .NET 8 backport of https://github.com/dotnet/runtime/pull/105548 + private static bool CounterCallbackOnTimerThread { get; } = + AppContext.TryGetSwitch("System.Diagnostics.Tracing.CounterCallbackOnTimerThread", out bool value) ? value : false; + private readonly EventSource _eventSource; private readonly List _counters; private static readonly object s_counterGroupLock = new object(); @@ -189,6 +193,16 @@ private void DisableTimer() Debug.Assert(Monitor.IsEntered(s_counterGroupLock)); _pollingIntervalInMilliseconds = 0; s_counterGroupEnabledList?.Remove(this); + + if (CounterCallbackOnTimerThread && s_needsResetIncrementingPollingCounters.Count > 0) + { + // if there are any pending callbacks for the timer thread, remove them now that the timer is being disabled + foreach (DiagnosticCounter diagnosticCounter in _counters) + { + if (diagnosticCounter is IncrementingPollingCounter pollingCounter) + s_needsResetIncrementingPollingCounters.Remove(pollingCounter); + } + } } private void ResetCounters() @@ -203,7 +217,17 @@ private void ResetCounters() } else if (counter is IncrementingPollingCounter ipCounter) { - ipCounter.UpdateMetric(); + if (CounterCallbackOnTimerThread) + { + // IncrementingPollingCounters will be reset on timer thread + // We need this to avoid deadlocks caused by running IncrementingPollingCounter._totalValueProvider under EventListener.EventListenersLock + // This is an opt-in fix for servicing because there is a small chance this could break apps (most likely tests). + s_needsResetIncrementingPollingCounters.Add(ipCounter); + } + else + { + ipCounter.UpdateMetric(); + } } else if (counter is EventCounter eCounter) { @@ -265,6 +289,10 @@ private void OnTimer() private static List? s_counterGroupEnabledList; + // Stores a list of IncrementingPollingCounters that need to be reset on the timer thread. This field + // is only accessed when CallbackOnTimerThread is true. + private static List s_needsResetIncrementingPollingCounters = []; + private static void PollForValues() { AutoResetEvent? sleepEvent = null; @@ -274,6 +302,7 @@ private static void PollForValues() // calling into the callbacks can cause a re-entrancy into CounterGroup.Enable() // and result in a deadlock. (See https://github.com/dotnet/runtime/issues/40190 for details) var onTimers = new List(); + List? countersToReset = null; while (true) { int sleepDurationInMilliseconds = int.MaxValue; @@ -292,7 +321,24 @@ private static void PollForValues() millisecondsTillNextPoll = Math.Max(1, millisecondsTillNextPoll); sleepDurationInMilliseconds = Math.Min(sleepDurationInMilliseconds, millisecondsTillNextPoll); } + + if (CounterCallbackOnTimerThread && s_needsResetIncrementingPollingCounters.Count > 0) + { + countersToReset = s_needsResetIncrementingPollingCounters; + s_needsResetIncrementingPollingCounters = []; + } + } + + if (countersToReset != null) + { + foreach (IncrementingPollingCounter counter in countersToReset) + { + counter.UpdateMetric(); + } + + countersToReset = null; } + foreach (CounterGroup onTimer in onTimers) { onTimer.OnTimer(); diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs index 15d8ee0ed3a55..f89704da4cb32 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs @@ -192,6 +192,16 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea Next: ; } + // Before we return -1, check if the remaining source contains any special or non-Ascii characters. + ReadOnlySpan remainingSource = fromBeginning + ? source.Slice(endIndex) + : source.Slice(0, startIndex); + + if (remainingSource.ContainsAnyExcept(s_nonSpecialAsciiChars)) + { + goto InteropCall; + } + return -1; InteropCall: diff --git a/src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs index 63db5cdf58c12..bd69203950249 100644 --- a/src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs +++ b/src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs @@ -164,7 +164,7 @@ internal sealed partial class CultureData { "AL", "sq-AL" }, { "AM", "hy-AM" }, { "AO", "pt-AO" }, - { "AQ", "en-A" }, + { "AQ", "en-AQ" }, { "AR", "es-AR" }, { "AS", "en-AS" }, { "AT", "de-AT" }, @@ -189,7 +189,7 @@ internal sealed partial class CultureData { "BR", "pt-BR" }, { "BS", "en-BS" }, { "BT", "dz-BT" }, - { "BV", "nb-B" }, + { "BV", "nb-BV" }, { "BW", "en-BW" }, { "BY", "be-BY" }, { "BZ", "en-BZ" }, @@ -202,7 +202,7 @@ internal sealed partial class CultureData { "CI", "fr-CI" }, { "CK", "en-CK" }, { "CL", "es-CL" }, - { "CM", "fr-C" }, + { "CM", "fr-CM" }, { "CN", "zh-CN" }, { "CO", "es-CO" }, { "CR", "es-CR" }, @@ -245,13 +245,13 @@ internal sealed partial class CultureData { "GP", "fr-GP" }, { "GQ", "es-GQ" }, { "GR", "el-GR" }, - { "GS", "en-G" }, + { "GS", "en-GS" }, { "GT", "es-GT" }, { "GU", "en-GU" }, { "GW", "pt-GW" }, { "GY", "en-GY" }, { "HK", "zh-HK" }, - { "HM", "en-H" }, + { "HM", "en-HM" }, { "HN", "es-HN" }, { "HR", "hr-HR" }, { "HT", "fr-HT" }, @@ -372,7 +372,7 @@ internal sealed partial class CultureData { "SZ", "ss-SZ" }, { "TC", "en-TC" }, { "TD", "fr-TD" }, - { "TF", "fr-T" }, + { "TF", "fr-TF" }, { "TG", "fr-TG" }, { "TH", "th-TH" }, { "TJ", "tg-Cyrl-TJ" }, diff --git a/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj b/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj index 5afd6058e7c82..d802d2f83bdd1 100644 --- a/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj +++ b/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj @@ -5,7 +5,7 @@ en-US false true - true + false 1 This package provides a low-level .NET (ECMA-335) metadata reader and writer. It's geared for performance and is the ideal choice for building higher-level libraries that intend to provide their own object model, such as compilers. The metadata format is defined by the ECMA-335 - Common Language Infrastructure (CLI) specification. diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj b/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj index 111bd36fc19d4..d5b7888db1aeb 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj @@ -5,7 +5,7 @@ true false true - true + false 1 Provides read-only reflection on assemblies in an isolated context with support for assemblies that target different processor architectures and runtimes. Using MetadataLoadContext enables you to inspect assemblies without loading them into the main execution context. Assemblies in MetadataLoadContext are treated only as metadata, that is, you can read information about their members, but cannot execute any code contained in them. diff --git a/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj b/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj index 241cbbffb2136..b212c942546be 100644 --- a/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj +++ b/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj @@ -3,7 +3,7 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0 true true - true + false 1 true true diff --git a/src/libraries/System.Security.Cryptography.Cose/src/System.Security.Cryptography.Cose.csproj b/src/libraries/System.Security.Cryptography.Cose/src/System.Security.Cryptography.Cose.csproj index 371d72ab6bc27..e8dc5ff2663a1 100644 --- a/src/libraries/System.Security.Cryptography.Cose/src/System.Security.Cryptography.Cose.csproj +++ b/src/libraries/System.Security.Cryptography.Cose/src/System.Security.Cryptography.Cose.csproj @@ -5,7 +5,7 @@ true true 1 - true + false Provides support for CBOR Object Signing and Encryption (COSE). diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj index 04b16db192960..d733acf45fe37 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj @@ -6,7 +6,7 @@ true $(NoWarn);CA5384 true - true + false 1 Provides support for PKCS and CMS algorithms. diff --git a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj index 381297c2a4b79..a95102ecff9c6 100644 --- a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj +++ b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj @@ -4,7 +4,7 @@ true $(NoWarn);CA1850 true - true + false 2 Provides classes to support the creation and validation of XML digital signatures. The classes in this namespace implement the World Wide Web Consortium Recommendation, "XML-Signature Syntax and Processing", described at http://www.w3.org/TR/xmldsig-core/. diff --git a/src/libraries/System.ServiceProcess.ServiceController/src/System.ServiceProcess.ServiceController.csproj b/src/libraries/System.ServiceProcess.ServiceController/src/System.ServiceProcess.ServiceController.csproj index 9406ea37a3b6e..9448e67298822 100644 --- a/src/libraries/System.ServiceProcess.ServiceController/src/System.ServiceProcess.ServiceController.csproj +++ b/src/libraries/System.ServiceProcess.ServiceController/src/System.ServiceProcess.ServiceController.csproj @@ -4,7 +4,7 @@ true $(NoWarn);CA2249 true - true + false 1 Provides the System.ServiceProcess.ServiceController class, which allows you to connect to a Windows service, manipulate it, or get information about it. diff --git a/src/libraries/System.Text.Json/src/System.Text.Json.csproj b/src/libraries/System.Text.Json/src/System.Text.Json.csproj index 3bcdf26a617b0..fb8f4321a63b9 100644 --- a/src/libraries/System.Text.Json/src/System.Text.Json.csproj +++ b/src/libraries/System.Text.Json/src/System.Text.Json.csproj @@ -8,7 +8,7 @@ CS8969 true true - true + false 5 Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.cs b/src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.cs new file mode 100644 index 0000000000000..9f7c7e559c24a --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.cs @@ -0,0 +1,28 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Runtime.CompilerServices; +using System.Numerics; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.Arm; +using Xunit; + +// Generated by Fuzzlyn v2.2 on 2024-08-06 15:11:52 +// Run on Arm64 MacOS +// Seed: 289142602786847481-vectort,vector64,vector128,armadvsimd,armadvsimdarm64,armaes,armarmbase,armarmbasearm64,armcrc32,armcrc32arm64,armdp,armrdm,armrdmarm64,armsha1,armsha256 +// Reduced from 87.5 KiB to 0.4 KiB in 00:00:36 +// Debug: Outputs <4607182418800017408, 13871573557235963454> +// Release: Outputs <4607182418800017408, 0> + +public class Runtime_106079 +{ + private static Vector128 s_38 = Vector128.Create(0, -567.3319449449843d); + + public static void TestEntryPoint() + { + double vr4 = 1; + s_38 = AdvSimd.Insert(s_38, 0, vr4); + Assert.Equal(Vector128.Create(4607182418800017408UL, 13871573557235963454UL), s_38.AsUInt64()); + } +} \ No newline at end of file diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.csproj b/src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.csproj new file mode 100644 index 0000000000000..de6d5e08882e8 --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.csproj @@ -0,0 +1,8 @@ + + + True + + + + + diff --git a/src/tests/Regressions/coreclr/GitHub_107800/test107800.cs b/src/tests/Regressions/coreclr/GitHub_107800/test107800.cs new file mode 100644 index 0000000000000..dc956f4984273 --- /dev/null +++ b/src/tests/Regressions/coreclr/GitHub_107800/test107800.cs @@ -0,0 +1,25 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Threading; +using System.Threading.Tasks; + +public class Program +{ + public static int Main() + { + Task.Run(() => + { + for (; ; ) + { + GC.Collect(); + } + }); + + Thread.Sleep(10); + Environment.Exit(100); + + throw new Exception("UNREACHABLE"); + } +} diff --git a/src/tests/Regressions/coreclr/GitHub_107800/test107800.csproj b/src/tests/Regressions/coreclr/GitHub_107800/test107800.csproj new file mode 100644 index 0000000000000..13af8e767b04c --- /dev/null +++ b/src/tests/Regressions/coreclr/GitHub_107800/test107800.csproj @@ -0,0 +1,11 @@ + + + + true + 0 + Exe + + + + +