CA1016: Derlemeleri AssemblyVersionAttribute ile işaretleme

Özellik Değer
Kural Kimliği CA1016
Başlık Derlemeleri AssemblyVersionAttribute ile işaretleyin
Kategori Tasarım
Düzeltme bozucu ya da bozmayan olabilir Kesintisiz
.NET 10'da varsayılan olarak etkin Öneri olarak
Geçerli diller C# ve Visual Basic

Neden

Derlemenin sürüm numarası yok.

Kural açıklaması

Bir derlemenin kimliği aşağıdaki bilgilerden oluşur:

  • Montaj adı

  • Sürüm numarası

  • Kültür

  • Ortak anahtar (kesin 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.