Ich habe ein C# -Projekt, das ich als .NET Standard 2.0-Bibliothek für andere .NET-Assemblys und als COM-Komponente für nativen Code verwenden möchte. Ich kann das COM-Objekt in Ordnung schaffen, wenn ich den vollen .NET Framework gedacht, aber wenn ich ein neues Projekt Targeting .NET Standard geschaffen, ich habe diesen Fehler, wenn ich es versuchte, registrieren:regasm netstandard DLL
regasm /codebase /tlb MyLib.dll
RegAsm: Fehler RA0000: Konnte Datei- oder Assembly 'netstandard, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51' oder eine seiner Abhängigkeiten nicht laden. Die angegebene Datei wurde vom System nicht gefunden.
Wie kann ich eine DLL erstellen und registrieren, die sowohl mit .NET Standard als auch mit COM kompatibel ist?
Ich kann das Problem nicht reproduzieren. Wenn ich eine .netstandard ClassLibrary von Grund auf neu erstellen und "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ regasm classlibrary1.dll/tlb/codebase" ausführen, funktioniert es einwandfrei. Ich habe VS 201715.5.2 (die neueste). –
Regasm.exe sucht im GAC nach abhängigen Assemblys. Stellen Sie sicher, dass es dort ist, ich habe es im Verzeichnis C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ netstandard \ v4.0_2.0.0.0__cc7b13ffcd2ddd51. Aktualisieren Sie ggf. auf .NET 4.7.1. –