Freigeben über


BC30145: Assembly wurde nicht generiert: <Fehlermeldung>

Der Visual Basic-Compiler ruft den Assemblylinker (Al.exe, auch als Alink bezeichnet) auf, um eine Assembly mit einem Manifest zu erstellen. Dabei meldet der Linker einen Fehler in der Ausgabephase der Assemblyerstellung.

Fehler-ID: BC30145

So beheben Sie diesen Fehler

  1. Überprüfen Sie die angegebene Fehlermeldung, und lesen Sie unter dem Thema AI.exe nach, um weitere Erläuterungen und Hinweise zu erhalten.

  2. Versuchen Sie, die Assembly manuell zu signieren, indem Sie entweder Al.exe oder Sn.exe (Strong Name-Tool) verwenden.

  3. Wenn der Fehler weiterhin besteht, tragen Sie Informationen zu den Umständen zusammen, und benachrichtigen Sie den Produktsupport von Microsoft.

So signieren Sie die Assembly manuell

  1. Verwenden Sie Sn.exe (Strong Name-Tool), um eine Datei mit einem Schlüsselpaar aus öffentlichem und privatem Schlüssel zu erstellen.

    Die Dateierweiterung dieser Datei lautet .snk.

  2. Löschen Sie den COM-Verweis, der für den Fehler verantwortlich ist, aus Ihrem Projekt.

  3. Öffnen Sie die Developer-Eingabeaufforderung von Visual Studio oder Visual Studio Developer PowerShell.

  4. Wechseln Sie in das Verzeichnis, in das Sie den Assemblywrapper platzieren möchten.

  5. Geben Sie den folgenden Befehl ein:

    tlbimp <path to COM reference file> /out:<output assembly name> /keyfile:<path to .snk file>
    

    Beispiel für den tatsächlichen Befehl, den Sie eingeben können:

    tlbimp c:\windows\system32\msi.dll /out:Interop.WindowsInstaller.dll /keyfile:"c:\documents and settings\mykey.snk"
    

    Tipp

    Verwenden Sie doppelte Anführungszeichen, wenn ein Pfad oder eine Datei Leerzeichen enthält.

  6. Fügen Sie in Visual Studio einen .NET Assemblyverweis auf die gerade erstellte Datei hinzu.

Siehe auch