CA1014: Derlemeleri CLSCompliantAttribute ile işaretleme
TürAdı |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
Kategori |
Microsoft.Design |
Bozan Değişiklik |
Bozmayan |
Sebep
Derleme CLSCompliantAttribute uygulanmış özniteliğine sahip değildir.
Kural Tanımı
Ortak Dil Tanımlaması(CLS) isim kısıtlamalarını, veri tiplerini, ve karşıt programlama dilleri kullanılırsa derlemelerin uyması zorunlu olan kuralları tanımlar.CLS ile CLSCompliantAttribute uyumunu meclislerinde açıkca gösteren iyi dizayn belirlemesidir.Öznitelik bir derlemede yoksa, montaj uyumlu değildir.
CLS uyumlu derlemeler için itaatkar olmayan tip ya da türlerin montajlanması mümkündür.
İhlallerin Düzeltilmesi
Bu kuralın ihlalinin düzeltilmesi için, derlemeye öznitelik ekleyin.Bütün derlemeyi itaatkar olamayan şekilde işaretlerseniz, hangi tür ya da tipteki üyelerin itaatkar olmadığını belirlemelisiniz ve bunları da işaretlemelisiniz.Mümkünse, CLS-uyumlu'yu sizin derlemenize fonksiyonel olarak ulaşabilen mümkün olan en büyük kitle olan uyumsuz üyelere alternatif olarak kabul etmelisiniz.
Uyarılar Ne Zaman Bastırılmalı
Bu kuraldan bir uyarı gizlemeyin.Montaj uyumlu olmasını istemiyorsanız, özniteliği uygulayın ve değerini şuna ayarlayın: false.
Örnek
Aşağıdaki örnek CLSCompliantAttribute CLS uyumlu olarak derlenmesini kabul eden özniteliğe sahiptir.
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}