Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Udzielono dostępu znajomemu do elementu "AssemblyName1", ale zestaw wyjściowy nosi nazwę "AssemblyName2". Spróbuj dodać odwołanie do "AssemblyName1" lub zmienić nazwę wyjściowego zestawu tak, aby był zgodny.
Dostęp znajomy to nowa funkcja środowiska uruchomieniowego języka wspólnego (CLR), która umożliwia zestawowi wyświetlanie typów innych zestawów innych niż publiczne. Ten błąd występuje, gdy zestaw udzielający znajomego dostępu określa nieprawidłową nazwę zestawu grantee. Aby uzyskać więcej informacji, zobacz Friend Assemblies (Przyjazne zestawy).
Przykład 1
Następująca sekwencja przykładów kodu spowoduje wygenerowanie CS0281.
Pliki używane do tworzenia silnych nazwanych zestawów są generowane w następujący sposób:
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 {}
Przykład 2
// CS0281_b.cs
// compile with: /target:library /keyfile:CS0281.snk /reference:CS0281.dll
[assembly:System.Runtime.CompilerServices.InternalsVisibleTo("CS0281, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b2d4d56af7c50be2fcbbf97cb880b9e73ad84467a587191fef63aadc118a96cecf9d508cd679c907b6e20f71684300bdc2c0a851019af0c96b29bf8f1339753276041aefd67db46139e6348b3a12f29537b4dc6c2c19829df2c9ed6803f3c63c3b84cfa2728849386aea575c543a5f70fa85793d2946f15f7fe1ccb0c5e8fe0")]
class B : A {}
Przykład 3
Poniższy przykład generuje plik CS0281.
Zwróć uwagę, że ten przykład tworzy plik wyjściowy o takiej samej nazwie jak plik wyjściowy w pierwszym przykładzie. Aby rozwiązać ten problem, nie zmieniaj atrybutów zestawu składnika i dodaj klasę 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 {}