Spraw, aby wtyczka XML Tools działała z Notepad ++

9

Pobrałem najnowszy Notepad ++ z oficjalnej strony, a następnie wypróbowałem różne libxml.dllpliki, aby wtyczka XML Tools działała. Ostatni, który próbowałem, był stąd (powinien być oficjalnym przedstawicielem):

Kiedy rozpakowuję bibliotekę DLL z powyższego archiwum 7z (x64) i uruchamiam instancję Notepad ++, pojawia się ten błąd:

wprowadź opis zdjęcia tutaj

Wszelkie pomysły, jak rozwiązać ten problem?

Jestem otwarty na sugestie dotyczące obniżenia wersji Notepad ++, po prostu muszę wiedzieć, która wersja.

Neolisk
źródło
Próbowałeś zainstalować z Menedżera wtyczek?
ciężki
Czy używasz 64-bitowej wersji Notepad ++? Jeśli nie, dlaczego pobierasz 64-bitową wersję libxml? BTW, wersja libxml wymagana dla XML Tools jest dostępna do pobrania dla XML Tools , wszystko co musisz zrobić, to przenieść ją do katalogu, w którym znajduje się notepad ++.
allquixotic
@heavyd: Nie znalazłem go na liście wtyczek Menedżera wtyczek.
Neolisk,
@allquixotic: Być może masz rację. Mój Notepad ++ jest 32-bitowy, pomyślałem, ponieważ mój Windows to x64, potrzebuję x64. Wyodrębnianie dołączonych plików za pomocą Narzędzi XML to pierwsza rzecz, której spróbowałem. Mówiło coś o niezgodności wtyczek ANSI z moim Unicode Notepad ++. Nie jestem pewna co to oznacza. Nie znalazłem żadnej innej wersji Notepad ++ na oficjalnej stronie internetowej.
Neolisk,
1
Spróbuj tego: w podstawowym katalogu Notepad ++ usuń wszystkie pliki .DLL oprócz SciLexer.dll. Upewnij się, że w katalogu wtyczek nie ma bibliotek DLL iconv, libxml2, libxslt ani zlib1, ponieważ Notepad ++ spróbuje dynamicznie załadować je jako wtyczki. Ale te cztery biblioteki DLL niewtyczkami Notepad ++ ; są Zależności tej XMLTools.dllwtyczki. Z tego powodu pojawi się błąd dotyczący „ANSI”.
allquixotic

Odpowiedzi:

9

Kiedy wchodzisz w tego rodzaju scenariusz, prawdopodobnie źle wykonałeś instalację wymaganych zależności. Czego szukać:

  1. Jeśli Notepad ++ jest 32-bitowy plik wykonywalny, to nie musi mieć 64-bitowych bibliotek DLL (lub odwrotnie). Bitowość bibliotek DLL i bitowość notepad++.exemuszą być zgodne (32-bit na 32-bit lub 64-bit na 64-bit).

  2. Upewnij się, że nie XMLTools.dllsiedzisz w katalogu podstawowym, w którym notepad++.exemieszka.

  3. Upewnij się, że XMLTools.dllw pluginskatalogu nie ma żadnej z czterech zależności ! pluginsKatalog jest tylko za rzeczywistą Notepad ++ wtyczek ; wszelkie inne biblioteki DLL znajdujące się w pluginskatalogu będą dynamicznie ładowane przez Notepad ++ i będą próbowały zostać aktywowane jako wtyczki . Ale ponieważ libxml2, iconvitp są nie rzeczywiste wtyczek , ale raczej do zależności XMLTools, obciążenie dynamiczne zakończy się niepowodzeniem, ponieważ te pliki DLL nie mają Notepad ++ wtyczki haczyki. Spowoduje to dziwne błędy dotyczące „ANSI” i innych rzeczy.

  4. Jeśli nie masz zainstalowanych żadnych innych wtyczek, które wymagają natywnych zależności, możesz bezpiecznie usunąć dowolny plik DLL w tym samym katalogu co notepad++.exe, z wyjątkiemSciLexer.dll . SciLexer jest podstawowym składnikiem Notepad ++ i należy go zachować.

  5. Jeśli jeszcze tego nie zrobiłeś, zajrzyj do środka \path_to_your_notepad++_installation\notepad++\plugins\ext_libs

Skopiuj te biblioteki DLL do tego samego katalogu, co notatnik ++. Exe:

iconv.dll
libxml2.dll
libxslt.dll
zlib1.dll
allquixotic
źródło
+1. Bardzo dobrze napisane. Chciałbym dać ci więcej niż jeden za to. Dzięki jeszcze raz. :)
Neolisk,
Link do instalatora ze strony Notepad ++ prowadzi do starej wersji Narzędzi Xml. Możesz pobrać najbardziej aktualne wersje i upewnić się, że otrzymujesz x64 lub x86 stąd: sourceforge.net/projects/npp-plugins/files/XML%20Tools
HaveSpacesuit