Chyba kompilátoru CS0281
Přátelský přístup byl udělen sestavení AssemblyName1, ale výstupní sestavení má název AssemblyName2. Zkuste přidat odkaz na AssemblyName1 nebo změnit název výstupního sestavení tak, aby odpovídal.
Přátelský přístup je nová funkce CLR (Common Language Runtime), která umožňuje sestavení zobrazit jiné neveřejné typy sestavení. K této chybě dochází, když sestavení udělující příteli přístup určuje nesprávný název pro sestavení grantee. Další informace naleznete v tématu Přátelská sestavení.
Následující posloupnost ukázek kódu vygeneruje CS0281.
Soubory použité k vytvoření silných pojmenovaných sestavení se generují následujícím způsobem:
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 {}
Následující ukázka vygeneruje CS0281.
Všimněte si, že tato ukázka vytvoří výstupní soubor se stejným názvem jako výstupní soubor v první ukázce. Chcete-li vyřešit, neměňte atributy sestavení komponenty a přidejte třídu C.
// 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 {}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: