Konnte nicht geladen, Datei oder assembly 'Microsoft.mshtml ... Strong name-überprüfung fehlgeschlagen

StackOverflow https://stackoverflow.com/questions/2068159

  •  20-09-2019
  •  | 
  •  

Frage

Ich machte eine WPF/C# - Programm und ich bin mit dem internet control für WYSIWYG-HTML-Bearbeitung.

es ist eine normale Ausführbare Programm.

es funktioniert auf den meisten Computern jedoch einige Computer sind, geben Sie mir die folgenden Fehler.

Konnte nicht geladen, Datei oder assembly 'Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' oder eine seiner Abhängigkeiten.Starke Namen die Validierung fehlgeschlagen ist.

Die 'Microsoft.mshtml.dll' Datei verteilt wird, mit dem Programm.Es ist mit allen anderen erforderlichen dlls im selben Ordner wie die exe-Datei.


Hier ist die Ausgabe von Fuslogvw

*** Assembly Binder Log Entry  (1/14/2010 @ 6:36:51 PM) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  C:\Documents and Settings\office\Desktop\Database\DATABASE.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = CAMPUSREMOTE\office
LOG: DisplayName = Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 (Fully-specified)
LOG: Appbase = file:///C:/Documents and Settings/office/Desktop/Database/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = DATABASE.exe
Calling assembly : ChabadOnCampusMainFrontEnd, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: Start binding of native image Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.
WRN: No matching native image found.

Vielen Dank

War es hilfreich?

Lösung

Stellen Sie sicher, dass die ‚Microsoft.mshtml.dll‘ Datei mit dem Programm verteilt die PIA-Datei und nicht um eine Office-Datei. Einige Websites behaupten, dass die Office-Dateien „Verzögerung unterzeichnet“ und die PIA-Datei (installiert mit der VS-Installation) ist ein signiertes Exemplar. Ich habe 3 verschiedene Versionen von ‚Microsoft.mshtml.dll‘ Datei auf meinem Computer, (gleiche Datei-Größe, aber unterschiedliche Inhalte):

  1. "c: \ Programme \ Microsoft Visual Studio 9.0 \ Visual Studio Tools for Office \ PIA \ Office11 \ Microsoft.mshtml.dll"

  2. "c: \ Programme \ Microsoft Visual Studio 9.0 \ Visual Studio Tools for Office \ PIA \ Office12 \ Microsoft.mshtml.dll"

  3. "c: \ Programme \ Microsoft.NET \ Primary Interop Assemblies \ Microsoft.mshtml.dll"

Entfernen „Microsoft.mshtml.dll“ Referenz aus dem Projekt. Verwenden Sie "Add Reference", ".net", wählen Sie die PIA-Datei, verwenden Sie "kopieren loacal" -Option. (Es funktionierte für mich...)

Atara

Andere Tipps

Microsoft.mshtml.dll von PIA Ordner ist nicht signiert.
Wenn Sie unterzeichnet haben, Projekt, Sie müssen eine version von "Primary Interop Assemblies" - Ordner.


Das zu tun:

1.Entfernen Sie Referenz zu Microsoft.mshtml (wenn Sie eine haben in Ihrem Projekt)

2.Klicken Sie auf "Verweis Hinzufügen" und dann wählen Sie NICHT "Erweiterungen", sondern um "Durchsuchen" und zeigen Sie auf "C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies" (für .64-bit-Maschinen) - diese version ist unterzeichnet.

3.Eigenschaften Bearbeiten (wählen Sie microsoft.mshtml Referenz und drücken Sie die F4-Taste), um:

Einbetten von Interop-Typen=false
Copy Local=true


4.Erstellen Sie Ihr Projekt neu

Der erste Schritt zur Verfolgung dieses Problems nach unten ist, um zu bestimmen, ob es wirklich Mcirosoft.mshtml.dll ist oder eine seiner Abhängigkeiten. Der beste Weg, dies zu tun ist fuslogvw zu verwenden, um die Montage Lastfehler zu verfolgen. Es liefert detaillierte Informationen darüber, welche Baugruppe versagt.

Wenn Sie deterimen die Baugruppe ausfällt, bitte mit den Ergebnissen Post zurück.

Bearbeiten

Das Warnmeldung darauf hin, dass der Betrieb schließlich gelungen. Es scheint nicht den Fehler darin zu haben.

Ich hatte das gleiche Problem auch, aber mein Problem wurde mit TFS Build-2008. Die HintPath war relativ und musste den genauen Pfad geändert werden. Ansonsten während des Build hielt es das Büro Aufnehmen mshtml.dll

<HintPath>..\..\..\..\..\..\..\..\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll</HintPath>

<HintPath>C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll</HintPath>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top