Dela via


Lösa fel och varningar som rör sammansättningsreferenser

  • CS0012: Typen 'typ' definieras i en assembly som inte refereras. Du måste lägga till en referens till assemblyn 'assembly'.
  • CS0234: Namnet på typen eller namnområdet finns inte i namnområdet (saknar du en sammansättningsreferens?)
  • CS0246: Det gick inte att hitta namnet på typen eller namnområdet (saknar du ett användningsdirektiv eller en sammansättningsreferens?)
  • CS0400: Det gick inte att hitta namnet på typen eller namnområdet i det globala namnområdet (saknar du en sammansättningsreferens?)
  • CS0735: Ogiltig typ som anges som ett argument för TypeForwardedToAttribute attribut.
  • CS1068: Det gick inte att hitta typnamnet i det globala namnområdet. Den här typen har vidarebefordrats till en annan sammansättning. Överväg att lägga till en referens till den sammansättningen.
  • CS1069: Det gick inte att hitta typnamnet i namnområdet. Den här typen har vidarebefordrats till en annan sammansättning. Överväg att lägga till en referens till den sammansättningen.
  • CS1070: Det gick inte att hitta typnamnet. Den här typen har vidarebefordrats till en annan sammansättning. Överväg att lägga till en referens till den sammansättningen.
  • CS1704: En sammansättning med samma enkla namn har redan importerats. Prova att ta bort någon av referenserna eller signera dem för att aktivera sida vid sida.
  • CS1714: Basklassen eller gränssnittet av den här typen kunde inte matchas eller är ogiltigt.
  • CS1760: Flera sammansättningar refererar till samma metadata, men bara en är en länkad referens (anges med alternativet /link), överväg att ta bort en av referenserna.
  • CS7008: Sammansättningsnamnet är reserverat och kan inte användas som referens i en interaktiv session.
  • CS7068: Referens till typanspråk som definieras i den här sammansättningen, men den definieras inte i källmoduler eller i några tillagda moduler.
  • CS7069: Referens till typ hävdar att den är definierad i en annan assembly, men den kunde inte hittas.
  • CS7071: Sammansättningsreferensen är ogiltig och kan inte lösas.
  • CS7079: Typen definieras i en modul som inte har lagts till. Du måste lägga till modulen.
  • CS8090: Det finns ett fel i en refererad sammansättning.
  • CS8203: Ogiltigt sammansättningsnamn.
  • CS9286: Typen innehåller ingen definition och det gick inte att hitta någon tillgänglig tilläggsmedlem för mottagartypen (saknar du ett användningsdirektiv eller en sammansättningsreferens?)

Dessutom beskrivs följande varningar i den här artikeln:

  • CS1683: Referens till typen 'Typnamn' hävdar att den är definierad i denna assembly, men den är inte definierad i källan eller i några tillagda moduler.

Referenser saknas

Följande fel och varningar indikerar att du saknar en sammansättningsreferens:

  • CS0012: Typen 'typ' definieras i en assembly som inte refereras till. Du måste lägga till en referens till assemblyn 'assembly'.
  • CS0234: Namnet på typen eller namnområdet finns inte i namnområdet (saknar du en sammansättningsreferens?)
  • CS0246: Det gick inte att hitta namnet på typen eller namnområdet (saknar du ett användningsdirektiv eller en sammansättningsreferens?)
  • CS9286: Typen innehåller ingen definition och det gick inte att hitta någon tillgänglig tilläggsmedlem för mottagartypen (saknar du ett användningsdirektiv eller en sammansättningsreferens?)

Dessa kompilatorfel indikerar ett av följande problem i koden:

När det verkar som att sammansättningen refereras

Om sammansättningen verkar refereras i projektet men du fortfarande får CS0012 kan du prova följande felsökningssteg:

  • Återställ paket: Kör dotnet restore för att se till att alla paketreferenser är korrekt lösta, särskilt när du har installerat eller avinstallerat NuGet-paket.

  • Rensa NuGet-paketcache och återställ paketen.

    dotnet nuget locals all --clear
    dotnet restore
    
  • Sök efter versionskonflikter: Kontrollera att alla refererade sammansättningar använder kompatibla versioner. Leta efter varningar om bindningsomdirigering i byggutdata.

  • Rensa lösningen och återskapa för att säkerställa att inga inaktuella referenser finns kvar:

    dotnet clean
    dotnet build
    
  • Verifiera paketintegriteten: Om felet uppstod efter paketåtgärder kontrollerar du att paketet har installerats korrekt genom att ta bort och installera om det:

    dotnet remove package [PackageName]
    dotnet add package [PackageName]
    

Typvidarebefordring

  • CS1068: Det gick inte att hitta typnamnet i det globala namnområdet. Den här typen har vidarebefordrats till en annan sammansättning. Överväg att lägga till en referens till den sammansättningen.
  • CS1069: Det gick inte att hitta typnamnet i namnområdet. Den här typen har vidarebefordrats till en annan sammansättning. Överväg att lägga till en referens till den sammansättningen.
  • CS1070: Det gick inte att hitta typnamnet. Den här typen har vidarebefordrats till en annan sammansättning. Överväg att lägga till en referens till den sammansättningen.

Dessa fel indikerar ett fel som refererar till en typ som vidarebefordras till en annan sammansättning. Om du vill åtgärda något av dessa fel lägger du till en referens till sammansättningen som anges i felmeddelandet.

Duplicerade referenser

Följande fel anger en duplicerad sammansättningsreferens:

  • CS1704: En sammansättning med samma enkla namn har redan importerats. Prova att ta bort någon av referenserna eller signera dem för att aktivera sida vid sida.
  • CS1760: Flera sammansättningar refererar till samma metadata, men bara en är en länkad referens (anges med alternativet /link), överväg att ta bort en av referenserna.

Om du vill åtgärda dessa fel måste du antingen ta bort någon av referenserna eller lösa dupliceringen. Orsaker till duplicering är:

  • Flera osignerade sammansättningar har samma namn.
  • Projektet refererar till flera versioner av samma sammansättning.

Ogiltig sammansättningsreferens

Följande fel indikerar att en sammansättningsreferens är ogiltig:

  • CS7008: Sammansättningsnamnet är reserverat och kan inte användas som referens i en interaktiv session.
  • CS7069: Referens till typen hävdar att den är definierad i en annan samling, men kunde inte hittas.
  • CS7071: Sammansättningsreferensen är ogiltig och kan inte lösas.
  • CS7079: Typen definieras i en modul som inte har lagts till. Du måste lägga till modulen.
  • CS8090: Det finns ett fel i en refererad sammansättning.
  • CS8203: Ogiltigt sammansättningsnamn.

Följande varning anger också en ogiltig referenssammansättning:

  • CS1683: Referens till typen "Type Name" påstår att den är definierad i denna assembly, men den är inte definierad i källan eller i några tillagda moduler

Kontrollera att sammansättningsnamnet är korrekt stavat. Den refererade sammansättningsfilen kan vara ogiltig.