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 noneolarak 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

Ayrıca bkz.