完成です!PVS-Studioは、.NET5のプロジェクトの分析をサポートします

2020年11月10日に、正式に.NET5という名前の.NETCoreの新しいバージョンがリリースされました。更新されたプラットフォームは多くの異なる機能を提供します。たとえば、C#開発者はC#9のイノベーション(レコード、リレーショナルパターンマッチングなど)を使用できます。残念ながら、欠点もあります。PVS-Studioを使用してこのようなプロジェクトを正しく分析することは不可能です。ええと...以前は不可能でした。結局のところ、現在この問題は過去のものです。PVS-Studio7.13の次のリリースでは、.NET5に焦点を当てたプロジェクトの分析がサポートされます。





別名.NETCore 4

.NET 5 , , .NET Core 3.1. ".NET", Microsoft , . – 3 preview- .NET 6. , 3.1, 5? , , , Windows 8.1 Windows 10 :)





, 4 , .NET Framework .NET. , "Entity Framework Core 5.0", .NET 5, "Core". , Core Framework "Entity Framework 5.0".





.NET 5 . , C# . , , . , , . C# 9 .





.NET 5 .





PVS-Studio .NET 5

.NET 5 . , . – , PVS-Studio. :( , -, , .NET 5.





Windows, Linux macOS. Windows , , .NET Framework 4.7.2. Linux macOS .NET 5 ( .NET Core 3.1).





Linux macOS .NET 5?

Linux/macOS .NET Core 3.1 .NET 5. , , , . , , .





, .NET Core (, , .NET 5), PVS-Studio SDK . - , .NET 5 SDK "System.Runtime" 5. , .NET Core 3.1, "System.Runtime" 3.1. – SDK .





.NET Core .NET 5 :).





.NET 5 . , PVS-Studio Roslyn MSBuild. , C# 9. ,





user = user with { Name = "Bill" }

      
      



, WithExpression. , user . , , . :(. , . .





. , , . – . , . , .





top-level statements. C#- , , , . . . C#- ... , , . , :)





, , – init-. V3140.





, . RunUO:





private bool m_IsRewardItem;

[CommandProperty( AccessLevel.GameMaster )]
public bool IsRewardItem
{
  get{ return m_IsRewardItem; }
  set{ m_IsRewardItem = value; InvalidateProperties(); }
}

private bool m_East;

[CommandProperty( AccessLevel.GameMaster )]
public bool East                                       // <=
{
  get{ return m_East; }
  set{ m_IsRewardItem = value; InvalidateProperties(); } 
}

      
      



PVS-Studio: V3140 Property accessors use different backing fields. WallBanner.cs 77





V3140 , 2 – get set. init . – ! , .





?

! , , , -... , ? , – ! . , , ( ) .NET 5 !





PVS-Studio. , . PVS-Studio .





, : Nikita Lipilin. Finally! PVS-Studio Supports .NET 5 Projects.








All Articles