CA1016: Derlemeleri AssemblyVersionAttribute ile işaretleme
Özellik | Değer |
---|---|
Kural Kimliği | CA1016 |
Başlık | Derlemeleri AssemblyVersionAttribute ile işaretleyin |
Kategori | Tasarım |
Hataya neden olan veya bozulmayan düzeltme | Hataya neden olmayan |
.NET 8'de varsayılan olarak etkin | Öneri olarak |
Neden
Derlemenin sürüm numarası yok.
Kural açıklaması
Bir derlemenin kimliği aşağıdaki bilgilerden oluşur:
Derleme adı
Sürüm numarası
Kültür
Ortak anahtar (kesin olarak adlandırılmış derlemeler için).
.NET, bir derlemeyi benzersiz olarak tanımlamak ve kesin olarak adlandırılmış derlemelerdeki türlere bağlanmak için sürüm numarasını kullanır. Sürüm numarası, sürüm ve yayımcı ilkesi ile birlikte kullanılır. Varsayılan olarak uygulamalar yalnızca oluşturulmuş derleme sürümlerini çalıştırır.
İhlalleri düzeltme
Bu kuralın ihlalini düzeltmek için özniteliğini kullanarak System.Reflection.AssemblyVersionAttribute derlemeye bir sürüm numarası ekleyin.
Uyarıların ne zaman bastırılması gerekiyor?
Üçüncü taraflar veya üretim ortamında kullanılan derlemeler için bu kuraldan gelen uyarıyı bastırmayın.
Uyarıyı gizleme
Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.
#pragma warning disable CA1016
// The code that's violating the rule is on this line.
#pragma warning restore CA1016
Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini none
olarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.CA1016.severity = none
Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.
Örnek
Aşağıdaki örnekte özniteliği uygulanmış AssemblyVersionAttribute bir derleme gösterilmektedir.
using System;
using System.Reflection;
[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}
<Assembly: AssemblyVersionAttribute("4.3.2.1")>
Namespace DesignLibrary
End Namespace