Skip to content

Commit 1b5d61c

Browse files
committed
Update CodeAnalysis config with recent rules
1 parent 0880c28 commit 1b5d61c

File tree

26 files changed

+116
-29
lines changed

26 files changed

+116
-29
lines changed

eng/CodeAnalysis.src.globalconfig

+44-5
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,15 @@ dotnet_diagnostic.CA1863.severity = suggestion
489489
# CA1864: Prefer the 'IDictionary.TryAdd(TKey, TValue)' method
490490
dotnet_diagnostic.CA1864.severity = warning
491491

492+
# CA1865: Use char overload
493+
dotnet_diagnostic.CA1865.severity = warning
494+
495+
# CA1866: Use char overload
496+
dotnet_diagnostic.CA1866.severity = warning
497+
498+
# CA1867: Use char overload
499+
dotnet_diagnostic.CA1867.severity = warning
500+
492501
# CA1868: Unnecessary call to 'Contains' for sets
493502
dotnet_diagnostic.CA1868.severity = warning
494503

@@ -501,6 +510,9 @@ dotnet_diagnostic.CA1870.severity = warning
501510
# CA1871: Do not pass a nullable struct to 'ArgumentNullException.ThrowIfNull'
502511
dotnet_diagnostic.CA1871.severity = warning
503512

513+
# CA1872: Prefer 'Convert.ToHexString' and 'Convert.ToHexStringLower' over call chains based on 'BitConverter.ToString'
514+
dotnet_diagnostic.CA1872.severity = warning
515+
504516
# CA2000: Dispose objects before losing scope
505517
dotnet_diagnostic.CA2000.severity = none
506518

@@ -610,9 +622,6 @@ dotnet_diagnostic.CA2226.severity = none
610622
# CA2227: Collection properties should be read only
611623
dotnet_diagnostic.CA2227.severity = none
612624

613-
# CA2229: Implement serialization constructors
614-
dotnet_diagnostic.CA2229.severity = warning
615-
616625
# CA2231: Overload operator equals on overriding value type Equals
617626
dotnet_diagnostic.CA2231.severity = none
618627

@@ -692,7 +701,7 @@ dotnet_diagnostic.CA2261.severity = warning
692701
dotnet_diagnostic.CA2262.severity = warning
693702

694703
# CA2263: Prefer generic overload when type is known
695-
dotnet_diagnostic.CA2263.severity = info
704+
dotnet_diagnostic.CA2263.severity = suggestion
696705

697706
# CA2264: Do not pass a non-nullable value to 'ArgumentNullException.ThrowIfNull'
698707
dotnet_diagnostic.CA2264.severity = warning
@@ -1827,7 +1836,7 @@ dotnet_diagnostic.IDE0200.severity = warning
18271836
# IDE0210: Use top-level statements
18281837
dotnet_diagnostic.IDE0210.severity = none
18291838

1830-
# IDE0211: Use program main
1839+
# IDE0211: Convert to 'Program.Main' style program
18311840
dotnet_diagnostic.IDE0211.severity = none
18321841

18331842
# IDE0220: foreach cast
@@ -1845,6 +1854,9 @@ dotnet_diagnostic.IDE0241.severity = suggestion
18451854
# IDE0250: Make struct readonly
18461855
dotnet_diagnostic.IDE0250.severity = suggestion
18471856

1857+
# IDE0251: Make member readonly
1858+
dotnet_diagnostic.IDE0251.severity = suggestion
1859+
18481860
# IDE0260: Use pattern matching
18491861
dotnet_diagnostic.IDE0260.severity = suggestion
18501862

@@ -1854,6 +1866,27 @@ dotnet_diagnostic.IDE0270.severity = suggestion
18541866
# IDE0280: Use 'nameof'
18551867
dotnet_diagnostic.IDE0280.severity = warning
18561868

1869+
# IDE0290: Use primary constructor
1870+
dotnet_diagnostic.IDE0290.severity = suggestion
1871+
1872+
# IDE0300: Use collection expression for array
1873+
dotnet_diagnostic.IDE0300.severity = suggestion
1874+
1875+
# IDE0301: Use collection expression for empty
1876+
dotnet_diagnostic.IDE0301.severity = suggestion
1877+
1878+
# IDE0302: Use collection expression for stackalloc
1879+
dotnet_diagnostic.IDE0302.severity = suggestion
1880+
1881+
# IDE0303: Use collection expression for Create()
1882+
dotnet_diagnostic.IDE0303.severity = suggestion
1883+
1884+
# IDE0304: Use collection expression for builder
1885+
dotnet_diagnostic.IDE0304.severity = suggestion
1886+
1887+
# IDE0305: Use collection expression for fluent
1888+
dotnet_diagnostic.IDE0305.severity = suggestion
1889+
18571890
# IDE1005: Delegate invocation can be simplified.
18581891
dotnet_diagnostic.IDE1005.severity = warning
18591892

@@ -1874,3 +1907,9 @@ dotnet_diagnostic.IDE2003.severity = silent
18741907

18751908
# IDE2004: Blank line not allowed after constructor initializer colon
18761909
dotnet_diagnostic.IDE2004.severity = silent
1910+
1911+
# IDE2005: Blank line not allowed after conditional expression token
1912+
dotnet_diagnostic.IDE2005.severity = silent
1913+
1914+
# IDE2006: Blank line not allowed after arrow expression clause token
1915+
dotnet_diagnostic.IDE2006.severity = silent

eng/CodeAnalysis.test.globalconfig

+43-1
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,15 @@ dotnet_diagnostic.CA1863.severity = none
486486
# CA1864: Prefer the 'IDictionary.TryAdd(TKey, TValue)' method
487487
dotnet_diagnostic.CA1864.severity = none
488488

489+
# CA1865: Use char overload
490+
dotnet_diagnostic.CA1865.severity = none
491+
492+
# CA1866: Use char overload
493+
dotnet_diagnostic.CA1866.severity = none
494+
495+
# CA1867: Use char overload
496+
dotnet_diagnostic.CA1867.severity = none
497+
489498
# CA1868: Unnecessary call to 'Contains' for sets
490499
dotnet_diagnostic.CA1868.severity = none
491500

@@ -498,6 +507,9 @@ dotnet_diagnostic.CA1870.severity = none
498507
# CA1871: Do not pass a nullable struct to 'ArgumentNullException.ThrowIfNull'
499508
dotnet_diagnostic.CA1871.severity = none
500509

510+
# CA1872: Prefer 'Convert.ToHexString' and 'Convert.ToHexStringLower' over call chains based on 'BitConverter.ToString'
511+
dotnet_diagnostic.CA1872.severity = none
512+
501513
# CA2000: Dispose objects before losing scope
502514
dotnet_diagnostic.CA2000.severity = none
503515

@@ -1821,7 +1833,7 @@ dotnet_diagnostic.IDE0200.severity = silent
18211833
# IDE0210: Use top-level statements
18221834
dotnet_diagnostic.IDE0210.severity = silent
18231835

1824-
# IDE0211: Use program main
1836+
# IDE0211: Convert to 'Program.Main' style program
18251837
dotnet_diagnostic.IDE0211.severity = silent
18261838

18271839
# IDE0220: foreach cast
@@ -1839,6 +1851,9 @@ dotnet_diagnostic.IDE0241.severity = silent
18391851
# IDE0250: Make struct readonly
18401852
dotnet_diagnostic.IDE0250.severity = silent
18411853

1854+
# IDE0251: Make member readonly
1855+
dotnet_diagnostic.IDE0251.severity = silent
1856+
18421857
# IDE0260: Use pattern matching
18431858
dotnet_diagnostic.IDE0260.severity = silent
18441859

@@ -1848,6 +1863,27 @@ dotnet_diagnostic.IDE0270.severity = silent
18481863
# IDE0280: Use 'nameof'
18491864
dotnet_diagnostic.IDE0280.severity = silent
18501865

1866+
# IDE0290: Use primary constructor
1867+
dotnet_diagnostic.IDE0290.severity = silent
1868+
1869+
# IDE0300: Use collection expression for array
1870+
dotnet_diagnostic.IDE0300.severity = silent
1871+
1872+
# IDE0301: Use collection expression for empty
1873+
dotnet_diagnostic.IDE0301.severity = silent
1874+
1875+
# IDE0302: Use collection expression for stackalloc
1876+
dotnet_diagnostic.IDE0302.severity = silent
1877+
1878+
# IDE0303: Use collection expression for Create()
1879+
dotnet_diagnostic.IDE0303.severity = silent
1880+
1881+
# IDE0304: Use collection expression for builder
1882+
dotnet_diagnostic.IDE0304.severity = silent
1883+
1884+
# IDE0305: Use collection expression for fluent
1885+
dotnet_diagnostic.IDE0305.severity = silent
1886+
18511887
# IDE1005: Delegate invocation can be simplified.
18521888
dotnet_diagnostic.IDE1005.severity = silent
18531889

@@ -1869,6 +1905,12 @@ dotnet_diagnostic.IDE2003.severity = silent
18691905
# IDE2004: Blank line not allowed after constructor initializer colon
18701906
dotnet_diagnostic.IDE2004.severity = silent
18711907

1908+
# IDE2005: Blank line not allowed after conditional expression token
1909+
dotnet_diagnostic.IDE2005.severity = silent
1910+
1911+
# IDE2006: Blank line not allowed after arrow expression clause token
1912+
dotnet_diagnostic.IDE2006.severity = silent
1913+
18721914
# xUnit1000: Test classes must be public
18731915
dotnet_diagnostic.xUnit1000.severity = warning
18741916

src/coreclr/tools/Common/Compiler/NativeAotNameMangler.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private string SanitizeNameWithHash(string literal)
108108
hash = SHA256.HashData(GetBytesFromString(literal));
109109
}
110110

111-
mangledName += "_" + BitConverter.ToString(hash).Replace("-", "");
111+
mangledName += "_" + Convert.ToHexString(hash);
112112
}
113113

114114
return mangledName;

src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectWriter/CoffObjectWriter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private protected override void CreateSection(ObjectNodeSection section, string
9292
Name =
9393
section == ObjectNodeSection.TLSSection ? ".tls$" :
9494
section == ObjectNodeSection.HydrationTargetSection ? "hydrated" :
95-
(section.Name.StartsWith(".") ? section.Name : "." + section.Name),
95+
(section.Name.StartsWith('.') ? section.Name : "." + section.Name),
9696
SectionCharacteristics = section.Type switch
9797
{
9898
SectionType.ReadOnly =>

src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/RuntimeConfigurationRootProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public override ObjectData GetData(NodeFactory factory, bool relocsOnly = false)
7272
int valueIndex = 0;
7373
foreach (string line in _runtimeOptions)
7474
{
75-
int indexOfEquals = line.IndexOf("=");
75+
int indexOfEquals = line.IndexOf('=');
7676
if (indexOfEquals > 0)
7777
{
7878
string key = line.Substring(0, indexOfEquals);

src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/XmlObjectDumper.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ protected override void DumpObjectNode(NodeFactory nodeFactory, ObjectNode node,
7070

7171
private string HashData(byte[] data)
7272
{
73-
return BitConverter.ToString(_sha256.ComputeHash(data)).Replace("-", "").ToLowerInvariant();
73+
return Convert.ToHexStringLower(_sha256.ComputeHash(data));
7474
}
7575

7676
internal override void End()

src/coreclr/tools/aot/ILCompiler.Compiler/ILCompiler.Compiler.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<AssemblyName>ILCompiler.Compiler</AssemblyName>
55
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
7+
<NoWarn>$(NoWarn);CA1866;CA1867</NoWarn>
78
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
89
<Platforms>x64;x86</Platforms>
910
<PlatformTarget>AnyCPU</PlatformTarget>

src/coreclr/tools/aot/ILCompiler.MetadataTransform/Internal/Metadata/NativeFormat/Writer/NativeMetadataWriter.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ public void Write(Stream stream)
373373

374374
// 3rd, the name, Quote the string if not already quoted
375375
string asString = rec.ToString(false);
376-
bool alreadyQuoted = asString.StartsWith("\"") && asString.EndsWith("\"");
376+
bool alreadyQuoted = asString.StartsWith('\"') && asString.EndsWith('\"');
377377
if (!alreadyQuoted)
378378
{
379379
LogWriter.Write("\"");

src/coreclr/tools/aot/ILCompiler.TypeSystem/ILCompiler.TypeSystem.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<AssemblyName>ILCompiler.TypeSystem</AssemblyName>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
77
<TargetFramework>$(NetCoreAppToolCurrent)</TargetFramework>
8+
<NoWarn>$(NoWarn);CA1866</NoWarn>
89
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
910
<Platforms>x64;x86</Platforms>
1011
<PlatformTarget>AnyCPU</PlatformTarget>

src/libraries/Microsoft.Extensions.Configuration.CommandLine/src/Microsoft.Extensions.Configuration.CommandLine.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
5+
<NoWarn>$(NoWarn);CA1866</NoWarn>
56
<EnableDefaultItems>true</EnableDefaultItems>
67
<IsPackable>true</IsPackable>
78
<PackageDescription>Command line configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from the command line arguments of your application. You can use CommandLineConfigurationExtensions.AddCommandLine extension method on IConfigurationBuilder to add the command line configuration provider to the configuration builder.</PackageDescription>

src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Microsoft.Extensions.FileProviders.Physical.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
55
<RootNamespace>Microsoft.Extensions.FileProviders</RootNamespace>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
7+
<NoWarn>$(NoWarn);CA1865;CA1866</NoWarn>
78
<EnableDefaultItems>true</EnableDefaultItems>
89
<IsPackable>true</IsPackable>
910
<PackageDescription>File provider for physical files for Microsoft.Extensions.FileProviders.</PackageDescription>

src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<TargetFrameworks Condition="'$(NetCoreAppPrevious)' != ''">$(TargetFrameworks);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious)</TargetFrameworks>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
77
<IncludeInternalObsoleteAttribute>true</IncludeInternalObsoleteAttribute>
8-
<NoWarn>$(NoWarn);IDE0059;IDE0060;CA1822</NoWarn>
8+
<NoWarn>$(NoWarn);IDE0059;IDE0060;CA1822;CA1865</NoWarn>
99
<EnableAOTAnalyzer>false</EnableAOTAnalyzer>
1010
<UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
1111
<IsPackable>true</IsPackable>

src/libraries/System.Management/src/System.Management.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<TargetFrameworks Condition="'$(NetCoreAppPrevious)' != ''">$(TargetFrameworks);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious)</TargetFrameworks>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
77
<NoWarn>$(NoWarn);0618</NoWarn>
8-
<NoWarn>$(NoWarn);IDE0059;IDE0060;CA1822</NoWarn>
8+
<NoWarn>$(NoWarn);IDE0059;IDE0060;CA1822;CA1865</NoWarn>
99
<IncludeDllSafeSearchPathAttribute>true</IncludeDllSafeSearchPathAttribute>
1010
<UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
1111
<IsPackable>true</IsPackable>

src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<EnableAOTAnalyzer>false</EnableAOTAnalyzer>
88
<UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
99
<IsPackable>true</IsPackable>
10+
<NoWarn>$(NoWarn);CA1865</NoWarn>
1011
<PackageDescription>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.</PackageDescription>
1112
</PropertyGroup>
1213

src/libraries/System.ServiceProcess.ServiceController/src/System.ServiceProcess.ServiceController.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);$(NetCoreAppMinimum)-windows;$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
55
<TargetFrameworks Condition="'$(NetCoreAppPrevious)' != ''">$(TargetFrameworks);$(NetCoreAppPrevious)-windows;$(NetCoreAppPrevious)</TargetFrameworks>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
7-
<NoWarn>$(NoWarn);CA2249</NoWarn>
7+
<NoWarn>$(NoWarn);CA2249;CA1865</NoWarn>
88
<UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
99
<IsPackable>true</IsPackable>
1010
<PackageDescription>Provides the System.ServiceProcess.ServiceController class, which allows you to connect to a Windows service, manipulate it, or get information about it.

src/libraries/System.Text.Encodings.Web/tools/GenDefinedCharList/Program.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ private static bool IsRangeDefinition(string rawName, out string rangeName, out
204204
// Ranges are represented within angle brackets, such as the following:
205205
// DC00;<Low Surrogate, First>;Cs;0;L;;;;;N;;;;;
206206
// DFFF;<Low Surrogate, Last>;Cs;0;L;;;;;N;;;;;
207-
if (rawName.StartsWith("<", StringComparison.Ordinal))
207+
if (rawName.StartsWith('<'))
208208
{
209209
if (rawName.EndsWith(", First>", StringComparison.Ordinal))
210210
{

src/libraries/System.Text.RegularExpressions/tests/UnitTests/RegexReductionTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ public void MinMaxLengthIsCorrect(string pattern, int options, int expectedMin,
582582

583583
Assert.Equal(expectedMin, tree.FindOptimizations.MinRequiredLength);
584584

585-
if (!pattern.EndsWith("$", StringComparison.Ordinal) &&
585+
if (!pattern.EndsWith('$') &&
586586
!pattern.EndsWith(@"\Z", StringComparison.OrdinalIgnoreCase))
587587
{
588588
// MaxPossibleLength is currently only computed/stored if there's a trailing End{Z} anchor as the max length is otherwise unused

src/mono/browser/debugger/BrowserDebugProxy/DebugStore.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1446,7 +1446,7 @@ private void GetSourceLinkUrl(string document, Dictionary<string, string> source
14461446
{
14471447
string key = sourceLinkDocument.Key;
14481448

1449-
if (!key.EndsWith("*", StringComparison.OrdinalIgnoreCase))
1449+
if (!key.EndsWith('*'))
14501450
{
14511451
continue;
14521452
}

src/mono/browser/debugger/BrowserDebugProxy/MonoSDBHelper.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1373,7 +1373,7 @@ public async Task<string> GetAssemblyFileNameFromId(int assemblyId, Cancellation
13731373

13741374
using var retDebuggerCmdReader = await SendDebuggerAgentCommand(CmdAssembly.GetName, commandParamsWriter, token);
13751375
var name = retDebuggerCmdReader.ReadString();
1376-
return name.Remove(name.IndexOf(",")) + ".dll";
1376+
return name.Remove(name.IndexOf(',')) + ".dll";
13771377
}
13781378

13791379
public async Task<string> GetMethodName(int methodId, CancellationToken token)
@@ -2185,7 +2185,7 @@ public async Task<JArray> GetHoistedLocalVariables(MethodInfoWithDebugInformatio
21852185
asyncLocal["name"] = match.Groups["varName"].Value;
21862186
}
21872187
}
2188-
else if (fieldName.StartsWith("$"))
2188+
else if (fieldName.StartsWith('$'))
21892189
{
21902190
continue;
21912191
}

src/mono/wasm/host/Options.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ public override string Description
746746

747747
public override bool GetArguments(string value, out IEnumerable<string> replacement)
748748
{
749-
if (string.IsNullOrEmpty(value) || !value.StartsWith("@"))
749+
if (string.IsNullOrEmpty(value) || !value.StartsWith('@'))
750750
{
751751
replacement = null;
752752
return false;

src/mono/wasm/host/WasmAppHost.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<PropertyGroup>
44
<TargetFramework>$(AspNetCoreAppCurrent)</TargetFramework>
55
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
6-
<NoWarn>$(NoWarn),CA2007</NoWarn>
6+
<NoWarn>$(NoWarn);CA2007</NoWarn>
77
<Nullable>enable</Nullable>
88
<UseAppHost>false</UseAppHost>
99
<RollForward>LatestMajor</RollForward>

src/tasks/AndroidAppBuilder/ApkBuilder.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public ApkBuilder(TaskLoggingHelper logger)
206206
// also, aapt is not happy about zip files
207207
return false;
208208
}
209-
if (fileName.StartsWith("."))
209+
if (fileName.StartsWith('.'))
210210
{
211211
// aapt complains on such files
212212
return false;

src/tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks/Microsoft.NET.Sdk.WebAssembly.Pack.Tasks.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>$(NetCoreAppToolCurrent);$(NetFrameworkToolCurrent)</TargetFrameworks>
5-
<NoWarn>$(NoWarn),CA1050,CA1850,CA1845,CA1859,NU5128</NoWarn>
5+
<NoWarn>$(NoWarn),CA1050,CA1850,CA1845,CA1859;CA1866,NU5128</NoWarn>
66
<RootNamespace>Microsoft.NET.Sdk.WebAssembly</RootNamespace>
77
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
88
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>

0 commit comments

Comments
 (0)