Erreur du compilateur CS0281
Un accès ami a été accordé à 'AssemblyName1', mais l’assembly de sortie est nommé 'AssemblyName2'. Essayez d’ajouter une référence à 'AssemblyName1' ou de modifier le nom de l’assembly de sortie pour qu’il corresponde.
L’accès ami est une nouvelle fonctionnalité du common language runtime (CLR) qui permet à un assembly d’afficher les types non publics d’un autre assembly. Cette erreur se produit quand l’assembly qui accorde un accès ami spécifie un nom incorrect pour l’assembly bénéficiaire. Pour plus d’informations, consultez Assemblys friend.
La suite d’exemples de code ci-dessous génère une erreur CS0281.
Les fichiers utilisés pour créer les assemblys à nom fort sont générés comme suit :
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 {}
L’exemple suivant génère l’erreur CS0281 :
Notez que cet exemple crée un fichier de sortie portant le même nom que le fichier de sortie du premier exemple. Pour résoudre ce problème, ne modifiez pas les attributs d’assembly du composant et ajoutez la classe 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 {}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :