Megosztás a következőn keresztül:


Szerelvényhivatkozásokkal kapcsolatos hibák és figyelmeztetések elhárítása

  • CS0012: A "type" típus egy olyan assembly-ben van definiálva, amelyre nincs hivatkozás. Hozzá kell adnia egy hivatkozást az 'assembly' nevű assembly-re.
  • CS0234: A típus vagy a névtér neve nem létezik a névtérben (hiányzik egy összeállítási hivatkozás?)
  • CS0246: A típus vagy a névtér neve nem található (hiányzik egy használt irányelv vagy szerelvényhivatkozás?)
  • CS0400: A típus vagy a névtér neve nem található a globális névtérben (hiányzik egy szerelvényhivatkozás?)
  • CS0735: Az attribútum argumentumaként TypeForwardedToAttribute megadott típus érvénytelen.
  • CS1068: A típusnév nem található a globális névtérben. Ez a típus egy másik szerelvénynek lett továbbítva. Fontolja meg egy hivatkozás hozzáadását az adott szerelvényhez.
  • CS1069: A típusnév nem található a névtérben. Ez a típus egy másik szerelvénynek lett továbbítva. Fontolja meg egy hivatkozás hozzáadását az adott szerelvényhez.
  • CS1070: A típusnév nem található. Ez a típus egy másik szerelvénynek lett továbbítva. Fontolja meg egy hivatkozás hozzáadását az adott szerelvényhez.
  • CS1704: Már importáltunk egy ugyanilyen egyszerű nevű szerelvényt. Távolítsa el az egyik hivatkozást, vagy írja alá őket egymás mellett való engedélyezéshez.
  • CS1714: Az ilyen típusú alaposztály vagy illesztő nem oldható fel, vagy érvénytelen.
  • CS1760: Több összeállítás ugyanarra a metaadatra hivatkozik, de csak az egyik van csatolt hivatkozásként megadva (a /link opció használatával); fontolja meg az egyik hivatkozás eltávolítását.
  • CS7008: A szerelvény neve fenntartott, és nem használható hivatkozásként egy interaktív munkamenet során.
  • CS7068: Egy szerelvényben definiáltnak mondott típusra való hivatkozás, de nincs definiálva sem a forrásban, sem a hozzáadott modulokban.
  • CS7069: Egy másik szerelvényben definiált típusra történő hivatkozás, de nem található.
  • CS7071: A szerelvényhivatkozás érvénytelen, és nem oldható fel.
  • CS7079: A típus egy olyan modulban van definiálva, amely nem lett hozzáadva. Hozzá kell adnia a modult.
  • CS8090: Hiba történt egy hivatkozott szerelvényben.
  • CS8203: Érvénytelen szerelvénynév.
  • CS9286: A típus nem tartalmaz definíciót, és nem található akadálymentes bővítménytag a fogadótípushoz (hiányzik egy felhasználói irányelv vagy egy szerelvényhivatkozás?)

Ezenkívül a cikk a következő figyelmeztetéseket tartalmazza:

  • CS1683: A(z) 'Típusnév' típusra tett hivatkozás azt állítja, hogy ebben a szerelvényben van definiálva, de nincs meghatározva sem a forrásban, sem a hozzáadott modulokban.

Hiányzó hivatkozások

Az alábbi hibák és figyelmeztetések azt jelzik, hogy hiányzik egy szerelvényhivatkozás:

  • CS0012: A 'type' típus egy hivatkozás nélküli assemblyben van definiálva. Adjon hozzá egy hivatkozást az 'assembly' assemblyre.
  • CS0234: A típus vagy névtér neve nem létezik a névtérben (hiányzik egy hivatkozás az összeállításra?)
  • CS0246: A típus vagy a névtér neve nem található (hiányzik egy használt irányelv vagy szerelvényhivatkozás?)
  • CS9286: A típus nem tartalmaz definíciót, és nem található akadálymentes bővítménytag a fogadótípushoz (hiányzik egy felhasználói irányelv vagy egy szerelvényhivatkozás?)

Ezek a fordítóhibák az alábbi problémák egyikét jelzik a kódban:

Amikor úgy tűnik, hogy a szerelvény hivatkozásra kerül

Ha úgy tűnik, hogy a szerelvény szerepel a projektben, de továbbra is cs0012-t kap, próbálkozzon az alábbi hibaelhárítási lépésekkel:

  • Csomagok visszaállítása: Futtassa a parancsot dotnet restore az összes csomaghivatkozás helyes feloldása érdekében, különösen a NuGet-csomagok telepítése vagy eltávolítása után.

  • Törölje a NuGet-csomag gyorsítótárát, és állítsa vissza:

    dotnet nuget locals all --clear
    dotnet restore
    
  • Verzióütközések keresése: Ellenőrizze, hogy az összes hivatkozott szerelvények kompatibilis verziókat használnak-e. Keresse meg a kötés átirányítására vonatkozó figyelmeztetéseket a build kimenetében.

  • Tisztítsa meg a megoldást, és építse újra, hogy ne maradjanak elavult hivatkozások:

    dotnet clean
    dotnet build
    
  • Csomagintegritás ellenőrzése: Ha a hiba a csomagműveletek után történt, távolítsa el és telepítse újra a csomagot a megfelelő telepítéssel:

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

Típustovábbítás

  • CS1068: A típusnév nem található a globális névtérben. Ez a típus egy másik szerelvénynek lett továbbítva. Fontolja meg egy hivatkozás hozzáadását az adott szerelvényhez.
  • CS1069: A típusnév nem található a névtérben. Ez a típus egy másik szerelvénynek lett továbbítva. Fontolja meg egy hivatkozás hozzáadását az adott szerelvényhez.
  • CS1070: A típusnév nem található. Ez a típus egy másik szerelvénynek lett továbbítva. Fontolja meg egy hivatkozás hozzáadását az adott szerelvényhez.

Ezek a hibák olyan hibát jeleznek, amely egy másik szerelvényre továbbított típusra hivatkozik. A hibák elhárításához adjon hozzá egy hivatkozást a hibaüzenetben jelzett szerelvényre.

Ismétlődő hivatkozások

A következő hibák ismétlődő szerelvényhivatkozást jeleznek:

  • CS1704: Már importáltunk egy ugyanilyen egyszerű névvel rendelkező assembly-t. Próbálja meg eltávolítani az egyik hivatkozást, vagy írja alá őket, hogy engedélyezze az egymás melletti működést.
  • CS1760: Több assembly ugyanarra a metaadatra hivatkozik, de csak egy van csatolt hivatkozásként megadva (a /link beállítással); fontolja meg az egyik hivatkozás eltávolítását.

A hibák kijavításához vagy el kell távolítania az egyik hivatkozást, vagy meg kell oldania a duplikációt. A duplikáció okai a következők:

  • Több aláírás nélküli összeállításnak ugyanaz a neve.
  • A projekt ugyanannak a szerelvénynek több verziójára hivatkozik.

Érvénytelen szerelvényhivatkozás

A következő hibák azt jelzik, hogy egy szerelvényhivatkozás érvénytelen:

  • CS7008: A szerelvény neve fenntartott, és nem használható hivatkozásként egy interaktív munkamenetben.
  • CS7069: Hivatkozás egy másik összeállításban definiált típusra, amely nem található.
  • CS7071: A szerelvényhivatkozás érvénytelen, és nem oldható fel.
  • CS7079: A típus egy olyan modulban van definiálva, amely nem lett hozzáadva. Hozzá kell adnia a modult.
  • CS8090: Hiba történt egy hivatkozott szerelvényben.
  • CS8203: Érvénytelen szerelvénynév.

A következő figyelmeztetés érvénytelen referencia-szerelvényt is jelez:

  • CS1683: A "Típusnév" típusra való hivatkozás azt állítja, hogy ebben az assemblyben van definiálva, de nincs definiálva sem a forrásban, sem a hozzáadott modulokban

Ellenőrizze, hogy az összeállítás neve helyesen van-e megadva. Előfordulhat, hogy a hivatkozott szerelvényfájl érvénytelen.