Starke Namensvalidierung fehlgeschlagen. (Ausnahme von HResult: 0x8013141a) 'C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Starke Namensvalidierung fehlgeschlagen. (Ausnahme von HResult: 0x8013141a) '

Post by Anonymous »

Erstellen einer Anwendung, mit der MP3 -Dateien abgespielt werden müssen. Es ist stark signiert, daher muss es eine signierte TLB -DLL verwenden. Ich habe mich über Quartz DLL gelesen und einen Wrapper dafür erstellt und unterschrieben, mit dem gleichen Schlüssel, den die Anwendung und alle Bibliotheken unterschrieben haben: < /p>

Code: Select all

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\sn.exe" -p My.pfx My.snk
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\TlbImp.exe" %windir%\system32\quartz.dll /out:QuartzTypeLib.dll /publickey:My.snk
In meiner App habe ich die resultierende Quartztypelib.dll als Referenz hinzugefügt und eine Methode erstellt:

Code: Select all

    public void Play(string path)
{
FilGraphMgr = new FilgraphManager();
FilGraphMgr.RenderFile(path);
FilGraphMgr.Run();
}
< /code>
Während des Builds wird die DLL in den Ausgangsordner kopiert. Wenn dieser Methode -Aufruf erreicht ist, löst das Framework eine Ausnahme aus: < /p>

system.io.fileloadexception: 'konnte keine Datei oder Assembly' quarttzTypelib, Version = 1,0.0.0, Culture = Neutral, publicKeyToken = 8FFCE24EC5DC181E 'oder ONDE AFFECTEL. Starke Namensvalidierung fehlgeschlagen. (Ausnahme von hResult: 0x8013141a) '

Die Version im Fehler stimmt dem mit illdasm.exe 
für diese DLL überein. Die Build -Konfiguration ist 'jede CPU' mit ausgeschaltetem 'Prefer 32bit', was durch eine andere Referenz erforderlich ist. Das Einschalten dieser Option hilft nicht.

Code: Select all

Tlbimp.exe
funktioniert nicht, wenn ich versuche, mit der ursprünglichen PFX -Datei mit/keyFile: Argument:

TLBIMP: Fehler TI1020: Ungültige starke Name angegeben.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post