Ich habe ein WPF 4-Projekt, um mit Word-Dokumenten zu interagieren, die in VS2010 erstellt wurden, und ein Win-User-Control-Projekt, um die Word-Anwendung darin zu hosten. Und andere Com dlls. Alle Programme werden in meine Haupt-wpf-Anwendung übertragen. Ich möchte mein Projekt veröffentlichen, so dass ich es auf einem anderen Computer installieren und automatisches Update für es ausführen kann, bekomme ich Fehler: "Assembly-Generierung fehlgeschlagen - referenzierte Assembly 'Interop.Office' hat keinen starken Namen.". Fehler für jede COM-DLL. Eine DLL bezieht sich auf (Interop.word.dll, interop.office.dll, interop.VBIDE.dll) und alle diese DLLs beziehen sich auch auf meinen wpf-Code.
Ich fand Strong Signed Assemblies Link die gleiche Frage, aber es löst das Problem nicht.
Ich habe eine Weile damit verbracht, im Internet zu surfen, ich glaube, dass die Antwort, die Sie brauchen, für die meisten Drittanbieter-DLLs hier sein könnte.
"Hinzufügen eines starken Namens zur Interop-DLL"
Der Artikel beschreibt drei Möglichkeiten zum Hinzufügen eines starken Namens zu einer Drittanbieter-Assembly. Die Befehle sind:
1. Hinzufügen eines starken Namens über ein Schlüsselpaar
2. Hinzufügen eines starken Namens über ein Zertifikat in einem Zertifikatspeicher
%Vor%3. Hinzufügen eines starken Namens über ein Zertifikat in einer persönlichen Informationsaustauschdatei (.pfx)
%Vor%Ich hoffe, es hat geholfen
Dieser Kommentar sollte eine Antwort sein:
Tatsächlich beginnt das Problem "starker Name" nur dann, wenn Sie sich entscheiden zu unterschreiben Ihre Assembly benötigt seitdem alle referenzierten DLLs Starker Name auch unterzeichnet
Wenn Sie die Baugruppe nicht signieren möchten und diesen Übersetzungsfehler umgehen möchten. Wählen Sie NOT, um die Assembly zu signieren, die Sie erstellen möchten. In der Folge erfordern auch alle Projektverweise keine Unterschrift.
Tags und Links wpf c# interop winforms-interop