Derleyici Hatası CS0281
'AssemblyName1' için arkadaş erişimi verildi, ancak çıkış derlemesinin adı 'AssemblyName2'. 'AssemblyName1' öğesine başvuru eklemeyi veya çıkış derleme adını eşleşecek şekilde değiştirmeyi deneyin.
Arkadaş erişimi, bir derlemenin başka bir derlemenin genel olmayan türlerini görmesini sağlayan yeni bir ortak dil çalışma zamanı (CLR) özelliğidir. Bu hata, arkadaş erişimi veren derleme, veren derleme için yanlış ad belirttiğinde oluşur. Daha fazla bilgi için bkz . Arkadaş Derlemeleri.
Aşağıdaki kod örnekleri dizisi CS0281 oluşturur.
Güçlü adlandırılmış derlemeleri oluşturmak için kullanılan dosyalar aşağıdaki gibi oluşturulur:
sn -d CS0281.snk
sn -k CS0281.snk
sn -i CS0281.snk CS0281.snk
sn -pc CS0281.snk key.publickey
sn -tp key.publickey
// CS0281.cs
// compile with: /target:library /keyfile:CS0281.snk
public class A {}
// CS0281_b.cs
// compile with: /target:library /keyfile:CS0281.snk /reference:CS0281.dll
[assembly:System.Runtime.CompilerServices.InternalsVisibleTo("CS0281, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b2d4d56af7c50be2fcbbf97cb880b9e73ad84467a587191fef63aadc118a96cecf9d508cd679c907b6e20f71684300bdc2c0a851019af0c96b29bf8f1339753276041aefd67db46139e6348b3a12f29537b4dc6c2c19829df2c9ed6803f3c63c3b84cfa2728849386aea575c543a5f70fa85793d2946f15f7fe1ccb0c5e8fe0")]
class B : A {}
Aşağıdaki örnek CS0281 oluşturur.
Bu örneğin, ilk örnekteki çıkış dosyasıyla aynı ada sahip bir çıkış dosyası oluşturduğuna dikkat edin. Çözümlemek için bileşenin derleme özniteliklerini değiştirmeyin ve C sınıfını ekleyin.
// CS0281_c.cs
// compile with: /target:library /out:CS0281.dll /keyfile:CS0281.snk /reference:CS0281_b.dll
// CS0281 expected
[assembly:System.Reflection.AssemblyVersion("3")]
[assembly:System.Reflection.AssemblyCulture("en-us")]
class C : B {}
public class A {}
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: