diff --git a/Directory.Build.props b/Directory.Build.props
index 4e66696c98d..235d562dc61 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -5,4 +5,58 @@
true
+
+
+ latest-Recommended
+
+
+ $(NoWarn);CA1805
+
+
+ $(NoWarn);CA1304;CA1305;CA1310
+
+
+ $(NoWarn);CA1311
+
+
+ $(NoWarn);CA1000
+
+
+ $(NoWarn);CA1848
+
+
+ $(NoWarn);CA1720
+
+
+ $(NoWarn);CA1051
+
+
+ $(NoWarn);CA1200
+
+
+ $(NoWarn);CA1711
+
+
+ $(NoWarn);CA1725
+
+
+ $(NoWarn);CA1716
+
+
+ $(NoWarn);CA1001
+
+
+ $(NoWarn);CA2201
+
+
+ $(NoWarn);CA1707
+
+
+ $(NoWarn);CA1727
+
+
+ $(NoWarn);CA1861
+
+
+
diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs b/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs
index 49fa883d1ff..e3cf7c4210c 100644
--- a/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs
+++ b/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
@@ -124,7 +125,7 @@ public override async Task CloningAsync(CloneContentContext context, AliasPart p
private async Task GetPatternAsync(AliasPart part)
{
var contentTypeDefinition = await _contentDefinitionManager.GetTypeDefinitionAsync(part.ContentItem.ContentType);
- var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => string.Equals(x.PartDefinition.Name, nameof(AliasPart)));
+ var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => string.Equals(x.PartDefinition.Name, nameof(AliasPart), StringComparison.Ordinal));
var pattern = contentTypePartDefinition.GetSettings().Pattern;
return pattern;
diff --git a/src/OrchardCore.Modules/OrchardCore.Autoroute/Handlers/AutoroutePartHandler.cs b/src/OrchardCore.Modules/OrchardCore.Autoroute/Handlers/AutoroutePartHandler.cs
index d8690e060be..554b5f8b654 100644
--- a/src/OrchardCore.Modules/OrchardCore.Autoroute/Handlers/AutoroutePartHandler.cs
+++ b/src/OrchardCore.Modules/OrchardCore.Autoroute/Handlers/AutoroutePartHandler.cs
@@ -157,7 +157,7 @@ public override Task GetContentItemAspectAsync(ContentItemAspectContext context,
return context.ForAsync(async aspect =>
{
var contentTypeDefinition = await _contentDefinitionManager.GetTypeDefinitionAsync(part.ContentItem.ContentType);
- var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => string.Equals(x.PartDefinition.Name, "AutoroutePart"));
+ var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => string.Equals(x.PartDefinition.Name, "AutoroutePart", StringComparison.Ordinal));
var settings = contentTypePartDefinition.GetSettings();
if (settings.ManageContainedItemRoutes)
{
@@ -425,7 +425,7 @@ private async Task GenerateContainerPathFromPatternAsync(AutoroutePart part)
private async Task GetPatternAsync(AutoroutePart part)
{
var contentTypeDefinition = await _contentDefinitionManager.GetTypeDefinitionAsync(part.ContentItem.ContentType);
- var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => string.Equals(x.PartDefinition.Name, nameof(AutoroutePart)));
+ var contentTypePartDefinition = contentTypeDefinition.Parts.FirstOrDefault(x => string.Equals(x.PartDefinition.Name, nameof(AutoroutePart), StringComparison.Ordinal));
var pattern = contentTypePartDefinition.GetSettings().Pattern;
return pattern;
diff --git a/src/OrchardCore.Modules/OrchardCore.ContentFields/GraphQL/Types/HtmlFieldQueryObjectType.cs b/src/OrchardCore.Modules/OrchardCore.ContentFields/GraphQL/Types/HtmlFieldQueryObjectType.cs
index a0146cdf6c0..b9c6bc98910 100644
--- a/src/OrchardCore.Modules/OrchardCore.ContentFields/GraphQL/Types/HtmlFieldQueryObjectType.cs
+++ b/src/OrchardCore.Modules/OrchardCore.ContentFields/GraphQL/Types/HtmlFieldQueryObjectType.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Encodings.Web;
@@ -45,8 +46,8 @@ private static async ValueTask