From 1f0e1bdb2cfddc8c87ab582e0b6fbac45f9c3dce Mon Sep 17 00:00:00 2001 From: Vladimir Sadov Date: Thu, 19 Sep 2024 10:58:56 -0700 Subject: [PATCH 01/17] [release/8.0] Fix a possible infinite wait for GC completion at process shutdown. (#107844) * Add a test * Minimal part of "Use RtlDllShutdownInProgress to detect process shutdown on Windows (#103877)" Fixes:107800 * Use RtlDllShutdownInProgress to detect process shutdown on Windows Switching to cooperative mode is not safe during process shutdown on Windows. Process shutdown can terminate a thread in the middle of the GC. The shutdown thread deadlocks if it tries to switch to cooperative mode and wait for the GC to finish in this situation. Use RtlDllShutdownInProgress Windows API to detect process shutdown to avoid waiting for GC completion when that may lead to deadlocks. * Update src/coreclr/vm/vars.hpp Co-authored-by: Manish Godse <61718172+mangod9@users.noreply.github.com> --------- Co-authored-by: Jan Kotas Co-authored-by: Manish Godse <61718172+mangod9@users.noreply.github.com> --- src/coreclr/vm/ceemain.cpp | 12 ++++++++- src/coreclr/vm/vars.hpp | 14 ++++++++++- .../coreclr/GitHub_107800/test107800.cs | 25 +++++++++++++++++++ .../coreclr/GitHub_107800/test107800.csproj | 11 ++++++++ 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 src/tests/Regressions/coreclr/GitHub_107800/test107800.cs create mode 100644 src/tests/Regressions/coreclr/GitHub_107800/test107800.csproj 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/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 + + + + + From 03eaee347a3068cee8eee8dfd94869fe0cf2edce Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Thu, 19 Sep 2024 20:59:22 +0300 Subject: [PATCH 02/17] Fix compilation on ARM64 hosts (#107921) --- eng/build.ps1 | 2 +- eng/native/configurecompiler.cmake | 6 +++++- eng/native/init-vs-env.cmd | 18 +++++++++++++----- src/coreclr/build-runtime.cmd | 24 ++++++++++++------------ 4 files changed, 31 insertions(+), 19 deletions(-) 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/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 From 43381f925b3271bce189e0bc076f9f0d73de4357 Mon Sep 17 00:00:00 2001 From: Eirik Tsarpalis Date: Thu, 19 Sep 2024 21:15:00 +0300 Subject: [PATCH 03/17] Fix HashSet copy constructor handling of instances that have fallen back to the randomized hashcode generator. (#107613) (#107687) --- .../HashSet/HashSet.NonGeneric.Tests.cs | 39 +++++++++++++++++++ .../tests/System.Collections.Tests.csproj | 3 +- .../src/System/Collections/Generic/HashSet.cs | 19 +++++++-- 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 src/libraries/System.Collections/tests/Generic/HashSet/HashSet.NonGeneric.Tests.cs 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.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 { From 578af597fdbe658033ade5d164889904fa0ed779 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 12:15:14 -0600 Subject: [PATCH 04/17] =?UTF-8?q?Revert=20"Avoid=20taking=20lock=20for=20e?= =?UTF-8?q?mpty=20bucket=20in=20ConcurrentDictionary.TryRemove=20=E2=80=A6?= =?UTF-8?q?"=20(#107656)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 252018c3d3fffdb592413cf61d5b80cf751e0a59. Co-authored-by: Stephen Toub --- .../Concurrent/ConcurrentDictionary.cs | 73 +++++++++---------- 1 file changed, 34 insertions(+), 39 deletions(-) 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; } } From 62ef9b8492397040d364ac795e27417f055fc3cb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Sep 2024 12:15:29 -0600 Subject: [PATCH 05/17] Ensure that AdvSimd.Insert doesn't zero out the upper bits (#107091) Co-authored-by: Tanner Gooding --- src/coreclr/jit/hwintrinsiccodegenarm64.cpp | 40 ++++++++----------- src/coreclr/jit/lowerarmarch.cpp | 12 ------ .../JitBlue/Runtime_106079/Runtime_106079.cs | 28 +++++++++++++ .../Runtime_106079/Runtime_106079.csproj | 8 ++++ 4 files changed, 53 insertions(+), 35 deletions(-) create mode 100644 src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.cs create mode 100644 src/tests/JIT/Regression/JitBlue/Runtime_106079/Runtime_106079.csproj 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/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 + + + + + From 2f9f4af8946b37a2b90e5244cfdbc6032b215376 Mon Sep 17 00:00:00 2001 From: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com> Date: Fri, 27 Sep 2024 14:10:31 -0700 Subject: [PATCH 06/17] Update sign-diagnostic-files.yml to skip dac sign in staging (#108244) --- eng/pipelines/coreclr/templates/sign-diagnostic-files.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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: From 40bd96eddfb13690a66e486f512feb2126530a22 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 17:17:00 -0600 Subject: [PATCH 07/17] Updated tsaoptions.json to direct issues properly. (#108452) Co-authored-by: artl --- .config/tsaoptions.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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" +} From 4c1dffcf378d7660254fab36770a852dda1ef827 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:59:38 -0700 Subject: [PATCH 08/17] [release/8.0-staging] Fix wrong Region Info Names (#108550) * Fix wrong RegionInfo Names * Exclude the test on Windows 8 for the lack of full globalization data --------- Co-authored-by: Tarek Mahmoud Sayed --- .../tests/System/Globalization/RegionInfoTests.cs | 15 +++++++++++++++ .../src/System/Globalization/CultureData.cs | 12 ++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) 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.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" }, From 843d78d56583e4de87585e02daf11cc89e81e86a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:15:47 -0700 Subject: [PATCH 09/17] [release/8.0-staging] Fix IndexOf Optimization Code (#108563) * Fix IndexOf Optimization Code * small typo * Address the feedback * Exclude hybrid globalization runs on the new added tests --------- Co-authored-by: Tarek Mahmoud Sayed --- .../CompareInfo/CompareInfoTests.IndexOf.cs | 10 ++++++++++ .../System/Globalization/CompareInfo.Icu.cs | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) 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.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs b/src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Icu.cs index 15d8ee0ed3a55..fd8b6f3b84b69 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 @@ -130,12 +130,14 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea } int startIndex, endIndex, jump; + ReadOnlySpan remainingSource; if (fromBeginning) { // Left to right, from zero to last possible index in the source string. // Incrementing by one after each iteration. Stop condition is last possible index plus 1. startIndex = 0; endIndex = source.Length - target.Length + 1; + remainingSource = source.Slice(endIndex); jump = 1; } else @@ -144,6 +146,7 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea // Decrementing by one after each iteration. Stop condition is last possible index minus 1. startIndex = source.Length - target.Length; endIndex = -1; + remainingSource = source.Slice(0, startIndex); jump = -1; } @@ -192,6 +195,12 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea Next: ; } + // Before we return -1, check if the remaining source contains any special or non-Ascii characters. + if (remainingSource.ContainsAnyExcept(s_nonSpecialAsciiChars)) + { + goto InteropCall; + } + return -1; InteropCall: @@ -243,12 +252,14 @@ private unsafe int IndexOfOrdinalHelper(ReadOnlySpan source, ReadOnlySpan< } int startIndex, endIndex, jump; + ReadOnlySpan remainingSource; if (fromBeginning) { // Left to right, from zero to last possible index in the source string. // Incrementing by one after each iteration. Stop condition is last possible index plus 1. startIndex = 0; endIndex = source.Length - target.Length + 1; + remainingSource = source.Slice(endIndex); jump = 1; } else @@ -257,6 +268,7 @@ private unsafe int IndexOfOrdinalHelper(ReadOnlySpan source, ReadOnlySpan< // Decrementing by one after each iteration. Stop condition is last possible index minus 1. startIndex = source.Length - target.Length; endIndex = -1; + remainingSource = source.Slice(0, startIndex); jump = -1; } @@ -294,6 +306,12 @@ private unsafe int IndexOfOrdinalHelper(ReadOnlySpan source, ReadOnlySpan< Next: ; } + // Before we return -1, check if the remaining source contains any special or non-Ascii characters. + if (remainingSource.ContainsAnyExcept(s_nonSpecialAsciiChars)) + { + goto InteropCall; + } + return -1; InteropCall: From af298b287a48d20d70b579d3111a6f9e97ff599d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 17:08:15 -0700 Subject: [PATCH 10/17] Tweak Invariant IndexOf logic (#108729) Co-authored-by: Miha Zupan --- .../src/System/Globalization/CompareInfo.Icu.cs | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) 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 fd8b6f3b84b69..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 @@ -130,14 +130,12 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea } int startIndex, endIndex, jump; - ReadOnlySpan remainingSource; if (fromBeginning) { // Left to right, from zero to last possible index in the source string. // Incrementing by one after each iteration. Stop condition is last possible index plus 1. startIndex = 0; endIndex = source.Length - target.Length + 1; - remainingSource = source.Slice(endIndex); jump = 1; } else @@ -146,7 +144,6 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea // Decrementing by one after each iteration. Stop condition is last possible index minus 1. startIndex = source.Length - target.Length; endIndex = -1; - remainingSource = source.Slice(0, startIndex); jump = -1; } @@ -196,6 +193,10 @@ private unsafe int IndexOfOrdinalIgnoreCaseHelper(ReadOnlySpan source, Rea } // 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; @@ -252,14 +253,12 @@ private unsafe int IndexOfOrdinalHelper(ReadOnlySpan source, ReadOnlySpan< } int startIndex, endIndex, jump; - ReadOnlySpan remainingSource; if (fromBeginning) { // Left to right, from zero to last possible index in the source string. // Incrementing by one after each iteration. Stop condition is last possible index plus 1. startIndex = 0; endIndex = source.Length - target.Length + 1; - remainingSource = source.Slice(endIndex); jump = 1; } else @@ -268,7 +267,6 @@ private unsafe int IndexOfOrdinalHelper(ReadOnlySpan source, ReadOnlySpan< // Decrementing by one after each iteration. Stop condition is last possible index minus 1. startIndex = source.Length - target.Length; endIndex = -1; - remainingSource = source.Slice(0, startIndex); jump = -1; } @@ -306,12 +304,6 @@ private unsafe int IndexOfOrdinalHelper(ReadOnlySpan source, ReadOnlySpan< Next: ; } - // Before we return -1, check if the remaining source contains any special or non-Ascii characters. - if (remainingSource.ContainsAnyExcept(s_nonSpecialAsciiChars)) - { - goto InteropCall; - } - return -1; InteropCall: From 6c5d00ffdc8bea1acb077d21b40245ae2290a203 Mon Sep 17 00:00:00 2001 From: Noah Falk Date: Thu, 10 Oct 2024 22:09:15 -0700 Subject: [PATCH 11/17] Fixes deadlock for IncrementingPollingCounter callbacks (#108648) This is a modified backport of https://github.com/dotnet/runtime/pull/105548. It mostly preserves the logic of the original fix in .NET 9 with a few adjustments: - Added a config switch System.Diagnostics.Tracing.CounterCallbackOnTimerThread that must be set to true to opt-in to the fix behavior. The .NET 9 fix was documented as a breaking change because it slighly modifies the timing and thread used for first call to an IncrementingPollingCounter callback. I did not want anyone in 8.0 to opted into this by default. - The opt-in switch sets the property CounterCallbackOnTimerThread and I added this condition to several of the if checks in the code. Its more than would be strictly necessary just to make it obvious when code reviewing individual methods that the new code paths are unreachable unless the app opts in. - The original 9.0 change had a bit more refactoring that wasn't essential (renaming a method, removing an unneeded lock() scope) and I removed that here to reduce the code delta. --- .../Diagnostics/Tracing/CounterGroup.cs | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) 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(); From fce80667fe59f9cafa6dfe8928e5ba6bf57cc6e9 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:25:28 -0600 Subject: [PATCH 12/17] Update dependencies from https://github.com/dotnet/runtime-assets build 20241010.3 (#108785) Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData From Version 8.0.0-beta.24362.2 -> To Version 8.0.0-beta.24510.3 Co-authored-by: dotnet-maestro[bot] --- NuGet.config | 6 +++++ eng/Version.Details.xml | 56 ++++++++++++++++++++--------------------- eng/Versions.props | 28 ++++++++++----------- 3 files changed, 48 insertions(+), 42 deletions(-) diff --git a/NuGet.config b/NuGet.config index 2a8a6af47a748..aff98bc2bee0e 100644 --- a/NuGet.config +++ b/NuGet.config @@ -10,6 +10,12 @@ + + + + + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index d71ff106317ef..4b5c0a0d3217a 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -185,57 +185,57 @@ https://github.com/dotnet/arcade 80264e60280e2815e7d65871081ccac04a32445c - + 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 @@ -358,9 +358,9 @@ https://github.com/dotnet/hotreload-utils 5339e12def2a3605d069c429840089ae27838728 - + https://github.com/dotnet/runtime-assets - 50994571d2f8b4b689c7a0b96c96356fc444b406 + c36e23fc4c2c7d5a02a413dfbbf33c503eb4e2de https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index c11f9d3a27b55..27abeebfb6a79 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 From 10686e71b4d82dcd41e5810dd5d3220fe66d6f18 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:25:43 -0600 Subject: [PATCH 13/17] Update dependencies from https://github.com/dotnet/source-build-externals build 20241010.2 (#108784) Microsoft.SourceBuild.Intermediate.source-build-externals From Version 8.0.0-alpha.1.24379.1 -> To Version 8.0.0-alpha.1.24510.2 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 4b5c0a0d3217a..694c48bc8dd1f 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 From 06dc25879865fd0826b758add81b255500027d27 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:26:12 -0600 Subject: [PATCH 14/17] [release/8.0-staging] Update dependencies from dotnet/hotreload-utils (#108713) * Update dependencies from https://github.com/dotnet/hotreload-utils build 20241007.2 Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.24453.2 -> To Version 8.0.0-alpha.0.24507.2 * Update dependencies from https://github.com/dotnet/hotreload-utils build 20241010.2 Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.24507.2 -> To Version 8.0.0-alpha.0.24510.2 * Update dependencies from https://github.com/dotnet/hotreload-utils build 20241014.2 Microsoft.DotNet.HotReload.Utils.Generator.BuildTool From Version 8.0.0-alpha.0.24510.2 -> To Version 8.0.0-alpha.0.24514.2 --------- Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 4 ++-- eng/Versions.props | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 694c48bc8dd1f..2e414fff26af3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -354,9 +354,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 67613417f5e1af250e6ddfba79f8f2885d8e90fb - + https://github.com/dotnet/hotreload-utils - 5339e12def2a3605d069c429840089ae27838728 + ef1f3313ca21d4eb766aefc48ea243421be2643f https://github.com/dotnet/runtime-assets diff --git a/eng/Versions.props b/eng/Versions.props index 27abeebfb6a79..b97a4b7d8dfcd 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -188,7 +188,7 @@ 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-alpha.0.24514.2 2.4.2 1.0.0 2.4.5 From 010dd1e59acf6bcbb7caf6eefd8b21489a3610df Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 11:29:38 -0600 Subject: [PATCH 15/17] Update dependencies from https://github.com/dotnet/xharness build 20240930.1 (#108761) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 8.0.0-prerelease.24229.2 -> To Version 8.0.0-prerelease.24480.1 Co-authored-by: dotnet-maestro[bot] Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com> --- .config/dotnet-tools.json | 2 +- eng/Version.Details.xml | 12 ++++++------ eng/Versions.props | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) 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/eng/Version.Details.xml b/eng/Version.Details.xml index 2e414fff26af3..6eb99c7a898ac 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -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 diff --git a/eng/Versions.props b/eng/Versions.props index b97a4b7d8dfcd..a904c629879c7 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -185,9 +185,9 @@ 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-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 From 65e56db62c7e1b61540b4d4a2fd50ad3a58e11d8 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 14:40:22 -0600 Subject: [PATCH 16/17] Update dependencies from https://github.com/dotnet/arcade build 20241008.1 (#108760) Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.24426.2 -> To Version 8.0.0-beta.24508.1 Co-authored-by: dotnet-maestro[bot] --- eng/Version.Details.xml | 72 ++++++++++++++++++++--------------------- eng/Versions.props | 30 ++++++++--------- eng/common/tools.ps1 | 2 +- global.json | 10 +++--- 4 files changed, 57 insertions(+), 57 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 6eb99c7a898ac..fcda1cfdfaa5b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -111,9 +111,9 @@ - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 @@ -121,69 +121,69 @@ 73f0850939d96131c28cf6ea6ee5aacb4da0083a - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 https://github.com/dotnet/runtime-assets @@ -334,9 +334,9 @@ https://github.com/dotnet/xharness 2195e37696de37d2c2b0f83d73f49c96d9b584de - + https://github.com/dotnet/arcade - 80264e60280e2815e7d65871081ccac04a32445c + e5b13e054339e41d422212a0ecaf24fec20cb5a1 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index a904c629879c7..243d1f51a0e05 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -87,21 +87,21 @@ 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 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 2.5.1-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 + 8.0.0-beta.24508.1 6.0.0-preview.1.102 diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index eb188cfda415b..a2dedaa5297a7 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -892,7 +892,7 @@ function IsWindowsPlatform() { } function Get-Darc($version) { - $darcPath = "$TempDir\darc\$(New-Guid)" + $darcPath = "$TempDir\darc\$([guid]::NewGuid())" if ($version -ne $null) { & $PSScriptRoot\darc-init.ps1 -toolpath $darcPath -darcVersion $version | Out-Host } else { diff --git a/global.json b/global.json index 5c4c290ae74fa..a2a0581ed84a9 100644 --- a/global.json +++ b/global.json @@ -1,16 +1,16 @@ { "sdk": { - "version": "8.0.108", + "version": "8.0.110", "allowPrerelease": true, "rollForward": "major" }, "tools": { - "dotnet": "8.0.108" + "dotnet": "8.0.110" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24426.2", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24426.2", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.24426.2", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24508.1", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24508.1", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.24508.1", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" From 8249297b982aa613c78713ceade98717a8c17575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20S=C3=A1nchez=20L=C3=B3pez?= <1175054+carlossanlop@users.noreply.github.com> Date: Mon, 14 Oct 2024 14:13:04 -0700 Subject: [PATCH 17/17] Turn all OOB packages off. --- ...Microsoft.Extensions.Caching.Memory.csproj | 4 +- ...osoft.Extensions.Configuration.Json.csproj | 2 +- ...xtensions.Configuration.UserSecrets.csproj | 2 +- ...rosoft.Extensions.Configuration.Xml.csproj | 2 +- ...ns.DependencyInjection.Abstractions.csproj | 2 +- ...soft.Extensions.DependencyInjection.csproj | 2 +- ...icrosoft.Extensions.DependencyModel.csproj | 2 +- ...Extensions.Diagnostics.Abstractions.csproj | 2 +- .../Microsoft.Extensions.Diagnostics.csproj | 2 +- ...oft.Extensions.Hosting.Abstractions.csproj | 2 +- ...icrosoft.Extensions.Hosting.Systemd.csproj | 2 +- ....Extensions.Hosting.WindowsServices.csproj | 2 +- .../src/Microsoft.Extensions.Hosting.csproj | 2 +- .../src/Microsoft.Extensions.Http.csproj | 2 +- ...oft.Extensions.Logging.Abstractions.csproj | 2 +- ...ft.Extensions.Logging.Configuration.csproj | 2 +- ...icrosoft.Extensions.Logging.Console.csproj | 2 +- .../Microsoft.Extensions.Logging.Debug.csproj | 2 +- ...crosoft.Extensions.Logging.EventLog.csproj | 2 +- ...soft.Extensions.Logging.EventSource.csproj | 2 +- ...soft.Extensions.Logging.TraceSource.csproj | 2 +- .../src/Microsoft.Extensions.Logging.csproj | 2 +- ....Configuration.ConfigurationManager.csproj | 2 +- .../src/System.Data.Odbc.csproj | 2 +- .../src/System.Data.OleDb.csproj | 2 +- .../src/System.Diagnostics.EventLog.csproj | 2 +- ...stem.Diagnostics.PerformanceCounter.csproj | 2 +- ...DirectoryServices.AccountManagement.csproj | 2 +- .../src/System.IO.Packaging.csproj | 2 +- src/libraries/System.IO.Ports/tests/file.pp | 9554 +++++++++++++++++ .../src/System.Memory.Data.csproj | 2 +- .../src/System.Net.Http.Json.csproj | 2 +- .../src/System.Reflection.Metadata.csproj | 2 +- ...stem.Reflection.MetadataLoadContext.csproj | 2 +- .../src/System.Runtime.Caching.csproj | 2 +- .../System.Security.Cryptography.Cose.csproj | 2 +- .../System.Security.Cryptography.Pkcs.csproj | 2 +- .../System.Security.Cryptography.Xml.csproj | 2 +- ...em.ServiceProcess.ServiceController.csproj | 2 +- .../src/System.Text.Json.csproj | 2 +- 40 files changed, 9593 insertions(+), 41 deletions(-) create mode 100644 src/libraries/System.IO.Ports/tests/file.pp 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.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.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.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.