Das XML Tools-Plugin funktioniert mit Notepad ++

17030
Neolisk

Ich habe das neueste Notepad ++ von der offiziellen Website heruntergeladen und dann verschiedene libxml.dllDateien ausprobiert, damit das XML Tools-Plugin funktioniert. Die letzte, die ich ausprobiert habe, war von hier (sollte offizieller Vertreter sein):

Wenn ich also eine DLL aus dem obigen 7z-Archiv (x64) entpacke und eine Instanz von Notepad ++ starte, erhalte ich diesen Fehler:

Das XML Tools-Plugin funktioniert mit Notepad ++

Ideen zur Behebung dieses Problems?

Ich bin offen für Vorschläge zum Downgrade von Notepad ++. Sie müssen nur wissen, welche Version Sie verwenden.

5
Haben Sie die Installation über den Plugin-Manager versucht? heavyd vor 10 Jahren 0
Führen Sie eine 64-Bit-Version von Notepad ++ aus? Wenn nicht, warum laden Sie eine 64-Bit-Version von libxml herunter? Übrigens, die für XML Tools erforderliche Version von libxml * ist im Download für XML Tools * enthalten. Sie müssen sie lediglich in das Verzeichnis verschieben, in dem sich notepad ++ befindet. Horn OK Please vor 10 Jahren 0
@ heavyd: Ich habe es nicht in der Plugin-Liste der Plugins gefunden. Neolisk vor 10 Jahren 0
@allquixotic: Vielleicht hast du recht. Mein Notepad ++ ist 32-Bit, ich dachte nur, da mein Windows x64 ist, brauche ich x64. Das Extrahieren der enthaltenen Dateien mit XML-Tools ist das erste, was ich versucht habe. Es wurde gesagt, dass ANSI-Plugins nicht mit meinem Unicode Notepad ++ kompatibel sind. Nicht sicher, was das heißt. Ich habe keine ** andere ** Version von Notepad ++ auf der offiziellen Website gefunden. Neolisk vor 10 Jahren 0
Es ist falsch zu glauben, dass Sie Binärdateien verwenden müssen, die dieselbe Bitness wie Ihr Betriebssystem haben. Während Sie keine 64-Bit-Binärdateien unter einem 32-Bit-Betriebssystem ausführen können, * können Sie * 32-Bit-Binärdateien unter einem 64-Bit-Betriebssystem ausführen. Tatsächlich handelt es sich bei der überwiegenden Mehrheit der von Ihnen ausgeführten Binärdateien aus alten Gründen um 32 Bit (und weil 32-Bit-Binärdateien auf jedem Computer funktionieren), während 64-Bit-Binärdateien nur auf Computern mit funktionieren 64-Bit-Windows). Horn OK Please vor 10 Jahren 0
In der Tat werden Sie * niemals * in der Lage sein, dies durch Verwendung eines 64-Bit-Builds von libxml2 mit einem 32-Bit-Notepad ++ zu erhalten, da Sie niemals Binärdateien mit unterschiedlicher Bitness in demselben Adressraum verknüpfen können (wenn Notepad ++ .exe gestartet wird (es lädt dynamisch alle DLLs in den gleichen Adressraum). Horn OK Please vor 10 Jahren 0
@allquixotic: Ich behaupte nicht, dass ich es richtig gemacht habe. Ich sage nur, dass ich verschiedene Optionen ausprobiert habe, einschließlich der, die Sie unten gepostet haben - und keine für mich funktionierte. Neolisk vor 10 Jahren 0
Versuchen Sie folgendes: Löschen Sie im Basis-Notepad ++ - Verzeichnis alle .DLL-Dateien mit Ausnahme von SciLexer.dll. Stellen Sie im Plugins-Verzeichnis sicher, dass Sie keine iconv-, libxml2-, libxslt- oder zlib1-DLLs verwenden, da Notepad ++ versucht, diese dynamisch als Plugins zu laden. Aber diese vier DLLs sind nicht Notepad ++ - Plugins. Sie sind * Abhängigkeiten * des `XMLTools.dll`-Plugins. Sie erhalten also eine Fehlermeldung über "ANSI". Horn OK Please vor 10 Jahren 1
@allquixotic: Ich wurde mit dem verwechselt, was wo sein muss. Ja, nachdem ich diese Nicht-Notepad ++ - Plugins in das NPP-Stammverzeichnis eingefügt habe, hat alles perfekt funktioniert. Ich habe sie ursprünglich im Plugins-Ordner abgelegt. Bitte bearbeiten Sie Ihre Antwort, damit sie für andere hilfreich ist. Neolisk vor 10 Jahren 0

2 Antworten auf die Frage

9
Horn OK Please

Wenn Sie sich in ein solches Szenario einarbeiten, haben Sie wahrscheinlich die Installation der erforderlichen Abhängigkeiten falsch vorgenommen. Dinge zu suchen:

  1. Wenn Ihr Notepad ++ eine ausführbare 32-Bit-Datei ist, dürfen Sie keine 64-Bit-DLLs (oder umgekehrt) haben. Die Bittiefe der DLLs und die Bittigkeit von notepad++.exemüssen übereinstimmen (32 Bit bis 32 Bit oder 64 Bit bis 64 Bit).

  2. Stellen Sie sicher, dass Sie nicht XMLTools.dllim Basisverzeichnis sitzen, wo sich das notepad++.exeLeben befindet.

  3. Stellen Sie sicher, dass Sie keine der vier XMLTools.dllAbhängigkeiten im pluginsVerzeichnis haben! Das pluginsVerzeichnis ist nur für die eigentlichen Notepad ++ - Plugins . Alle anderen DLLs im pluginsVerzeichnis werden von Notepad ++ dynamisch geladen und versucht, als Plugins aktiviert zu werden . Aber da libxml2, iconvetc. sind keine echte Plug - in, sondern Abhängigkeiten XMLTools, werden die dynamische Belastung fehlschlagen, da dies DLLs das Notepad ++ nicht Plugin Haken haben. Dies führt zu seltsamen Fehlern in Bezug auf "ANSI" und so.

  4. Wenn Sie keine anderen Plugins installiert haben, die native Abhängigkeiten benötigen, können Sie sicher jede DLL - Datei im selben Verzeichnis wie die löschen notepad++.exe, mit AusnahmeSciLexer.dll . SciLexer ist eine Kernkomponente von Notepad ++ und muss beibehalten werden.

  5. Wenn Sie das noch nicht getan haben, schauen Sie rein \path_to_your_notepad++_installation\notepad++\plugins\ext_libs

Kopieren Sie diese DLLs in dasselbe Verzeichnis wie notepad ++. Exe:

iconv.dll libxml2.dll libxslt.dll zlib1.dll 
+1. Sehr gut geschrieben Ich wünschte, ich könnte dir mehr als einen dafür geben. Danke noch einmal. :) Neolisk vor 10 Jahren 0
Der Link zum Installationsprogramm von der Notepad ++ - Site führt Sie zu einer alten Version von Xml Tools. Sie können die aktuellsten Versionen abrufen und sicherstellen, dass Sie x64 oder x86 von hier herunterladen: https://sourceforge.net/projects/npp-plugins/files/XML%20Tools/ HaveSpacesuit vor 6 Jahren 0
-1
Aarush

Dies liegt an der Inkompatibilität der Version (x86 vs. x64) zwischen notepad ++ und der Datei xmltools.dll. Das Problem wird gelöst, indem Sie die x86-Version von dll und Abhängigkeiten entfernen und die folgende x64-Version desselben Tools herunterladen. https://sourceforge.net/projects/npp-plugins/files/XML%20Tools/Xml%20Tools%202.4.9%20Unicode/