diff --git a/Directory.Build.props b/Directory.Build.props
index f677673845704..3c8246c896739 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -114,8 +114,8 @@
- 7.0.0
- net7.0
+ 8.0.0
+ net8.0
$(NetFrameworkToolCurrent)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 9beafa9abfa6d..15f1ed2cd8aca 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -383,9 +383,13 @@
https://github.com/dotnet/roslyn-analyzers
b4d9a1334d5189172977ba8fddd00bda70161e4a
-
+
https://github.com/dotnet/sdk
- 7e33fd449381b337c290a801057fdcd68c4b7220
+ e9d13cbe7e8c1d52ce276a8655f52a87e1017c46
+
+
+ https://github.com/dotnet/sdk
+ e9d13cbe7e8c1d52ce276a8655f52a87e1017c46
diff --git a/eng/Versions.props b/eng/Versions.props
index ac3c1dfec439b..b3b265d5586e8 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -7,7 +7,7 @@
0
1
8.0.100
- 7.0.14
+ 7.0.$([MSBuild]::Add($(PatchVersion),14))
6.0.$([MSBuild]::Add($([System.Version]::Parse('$(PackageVersionNet7)').Build),11))
servicing
@@ -85,7 +85,7 @@
0.2.0
- 8.0.100-rtm.23520.8
+ 8.0.100
8.0.0-beta.23556.5
8.0.0-beta.23556.5
@@ -127,7 +127,7 @@
7.0.0
5.0.0
4.8.5
- 7.0.0
+ 8.0.0
5.0.0
4.5.5
7.0.0
diff --git a/eng/packaging.targets b/eng/packaging.targets
index a36102a37acd5..a1fbe07ed2a57 100644
--- a/eng/packaging.targets
+++ b/eng/packaging.targets
@@ -11,6 +11,7 @@
'$(SuppressFinalPackageVersion)' == 'true' or
'$(DotNetBuildFromSource)' == 'true'">true
$(ApiCompatNetCoreAppBaselineVersion)
+
$(BeforePack);IncludeAnalyzersInPackage;AddNETStandardCompatErrorFileForPackaging
$(TargetsForTfmSpecificContentInPackage);AddRuntimeSpecificFilesToPackage;IncludeProjectReferencesWithPackAttributeInPackage
@@ -37,6 +38,13 @@
false
+
+
+ true
+
+ $(NoWarn);CP0003
+
+
-
-
-
- CP0002
- M:Microsoft.Extensions.DependencyInjection.Specification.DependencyInjectionSpecificationTests.TypeActivatorCreateInstanceUsesFirstMathchedConstructor(System.Object,System.String)
- true
-
-
\ No newline at end of file
diff --git a/src/libraries/Microsoft.NET.WebAssembly.Threading/src/CompatibilitySuppressions.xml b/src/libraries/Microsoft.NET.WebAssembly.Threading/src/CompatibilitySuppressions.xml
deleted file mode 100644
index 26a2ff5695599..0000000000000
--- a/src/libraries/Microsoft.NET.WebAssembly.Threading/src/CompatibilitySuppressions.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- PKV006
- net7.0
-
-
\ No newline at end of file
diff --git a/src/libraries/Microsoft.NET.WebAssembly.Threading/src/Microsoft.NET.WebAssembly.Threading.proj b/src/libraries/Microsoft.NET.WebAssembly.Threading/src/Microsoft.NET.WebAssembly.Threading.proj
index 3613b012fe57f..45b3320dcfb5f 100644
--- a/src/libraries/Microsoft.NET.WebAssembly.Threading/src/Microsoft.NET.WebAssembly.Threading.proj
+++ b/src/libraries/Microsoft.NET.WebAssembly.Threading/src/Microsoft.NET.WebAssembly.Threading.proj
@@ -12,6 +12,7 @@
$(NoWarn);NU5128;NU5131;PKV004
ref
+ true
diff --git a/src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/KeyAnalyzer.cs b/src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/KeyAnalyzer.cs
index da050f12a83cb..23742d276e23f 100644
--- a/src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/KeyAnalyzer.cs
+++ b/src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/KeyAnalyzer.cs
@@ -37,7 +37,7 @@ public static AnalysisResults Analyze(
AnalysisResults results;
if (minLength == 0 || !TryUseSubstring(uniqueStrings, ignoreCase, minLength, maxLength, out results))
{
- results = CreateAnalysisResults(uniqueStrings, ignoreCase, minLength, maxLength, 0, 0, static (s, _, _) => s.AsSpan());
+ results = CreateAnalysisResults(uniqueStrings, ignoreCase, minLength, maxLength, 0, 0, isSubstring: false, static (s, _, _) => s.AsSpan());
}
return results;
@@ -71,7 +71,7 @@ private static bool TryUseSubstring(ReadOnlySpan uniqueStrings, bool ign
if (HasSufficientUniquenessFactor(set, uniqueStrings))
{
results = CreateAnalysisResults(
- uniqueStrings, ignoreCase, minLength, maxLength, index, count,
+ uniqueStrings, ignoreCase, minLength, maxLength, index, count, isSubstring: true,
static (string s, int index, int count) => s.AsSpan(index, count));
return true;
}
@@ -96,7 +96,7 @@ private static bool TryUseSubstring(ReadOnlySpan uniqueStrings, bool ign
if (HasSufficientUniquenessFactor(set, uniqueStrings))
{
results = CreateAnalysisResults(
- uniqueStrings, ignoreCase, minLength, maxLength, comparer.Index, count,
+ uniqueStrings, ignoreCase, minLength, maxLength, comparer.Index, count, isSubstring: true,
static (string s, int index, int count) => s.AsSpan(s.Length + index, count));
return true;
}
@@ -110,7 +110,7 @@ private static bool TryUseSubstring(ReadOnlySpan uniqueStrings, bool ign
}
private static AnalysisResults CreateAnalysisResults(
- ReadOnlySpan uniqueStrings, bool ignoreCase, int minLength, int maxLength, int index, int count, GetSpan getSubstringSpan)
+ ReadOnlySpan uniqueStrings, bool ignoreCase, int minLength, int maxLength, int index, int count, bool isSubstring, GetSpan getSubstringSpan)
{
// Start off by assuming all strings are ASCII
bool allAsciiIfIgnoreCase = true;
@@ -120,11 +120,11 @@ private static AnalysisResults CreateAnalysisResults(
// substrings are ASCII, so we check each.
if (ignoreCase)
{
- // Further, if the ASCII substrings don't contain any letters, then we can
+ // Further, if the ASCII keys (in their entirety) don't contain any letters, then we can
// actually perform the comparison as case-sensitive even if case-insensitive
// was requested, as there's nothing that would compare equally to the substring
// other than the substring itself.
- bool canSwitchIgnoreCaseToCaseSensitive = true;
+ bool canSwitchIgnoreCaseHashToCaseSensitive = !isSubstring;
foreach (string s in uniqueStrings)
{
@@ -135,20 +135,20 @@ private static AnalysisResults CreateAnalysisResults(
if (!IsAllAscii(substring))
{
allAsciiIfIgnoreCase = false;
- canSwitchIgnoreCaseToCaseSensitive = false;
+ canSwitchIgnoreCaseHashToCaseSensitive = false;
break;
}
// All substrings so far are still ASCII only. If this one contains any ASCII
// letters, mark that we can't switch to case-sensitive.
- if (canSwitchIgnoreCaseToCaseSensitive && ContainsAnyLetters(substring))
+ if (canSwitchIgnoreCaseHashToCaseSensitive && ContainsAnyLetters(substring))
{
- canSwitchIgnoreCaseToCaseSensitive = false;
+ canSwitchIgnoreCaseHashToCaseSensitive = false;
}
}
// If we can switch to case-sensitive, do so.
- if (canSwitchIgnoreCaseToCaseSensitive)
+ if (canSwitchIgnoreCaseHashToCaseSensitive)
{
ignoreCase = false;
}
diff --git a/src/libraries/System.Collections.Immutable/tests/Frozen/FrozenFromKnownValuesTests.cs b/src/libraries/System.Collections.Immutable/tests/Frozen/FrozenFromKnownValuesTests.cs
index e11de4412941e..5776a7373bb5f 100644
--- a/src/libraries/System.Collections.Immutable/tests/Frozen/FrozenFromKnownValuesTests.cs
+++ b/src/libraries/System.Collections.Immutable/tests/Frozen/FrozenFromKnownValuesTests.cs
@@ -142,6 +142,15 @@ public static IEnumerable