Bei Tests Ausführung in Visual Studio 2013 (C# -Code) Ich habe solche Fehler:DllNotFoundException PInvoke Ausgabe
System.TypeInitializationException: System.TypeInitializationException: Der Initialisierer Typ für 'Teigha.Core.GlobalsPINVOKE' eine Ausnahme ausgelöst hat. ---> System.TypeInitializationException: Der Typinitialisierer für 'SWIGExceptionHelper' hat eine Ausnahme ausgelöst. ---> System.DllNotFoundException: Kann DLL 'TD_SwigCore_4.00_10.dll' nicht laden: Das angegebene Modul konnte nicht gefunden werden. (Ausnahme von HRESULT: 0x8007007E). Testausführung wird abgebrochen.
Mein Freund verwendet den gleichen Code-Zweig auf einem anderen Computer. Er hat keine solchen Probleme. Alle DLLs werden während des Builds in das Verzeichnis TestResults \ Deploy kopiert (auch TD_SwigCore_4.00_10.dll).
I verwendet
dependbin /DEPENDENTS TD_SwigCore_4.00_10.dll
dll Bliebene dieser dll zu überprüfen: KERNEL32.dll, USER32.dll, ole32.dll, TD_Ge_4.00_10.dll, TD_DbRoot_4.00_10.dll, TD_Gi_4.00_10. dll, TD_Gs_4.00_10.dll, TD_SpatialIndex_4.00_10.dll, TD_Br_4.00_10.dll, TD_Db_4.00_10.dll, TD_Root_4.00_10.dll, TD_Alloc_4.00_10.dll, MSVCP100.dll, MSVCR100.dll. Ich habe alle diese DLLs in System32-Ordner kopiert, so dass alle DLLs geladen werden würden (https://msdn.microsoft.com/en-us/library/7d83bc18(v=vs.120).aspx). Das hilft nicht. Fehler ist weiterhin vorhanden.
Das Kopieren von Abhängigkeiten zu system32 ist ein drastischer Fehler und führt sehr wahrscheinlich zu Fehlfunktionen anderer Programme. Und das funktioniert nicht, weil ein 32-Bit-Prozess zu syswow64 umgeleitet wird. Sie müssen den Schaden beheben und Abhängigkeiten in das Verzeichnis kopieren, in dem die exe gespeichert ist. –
Aus welchem Verzeichnis wird Test Runner in Visual Studio 2013 ausgeführt? Ich denke, das muss ein Verzeichnis sein, in dem dlls zuerst gesucht werden? Oder vielleicht in VSproject \ bin \ Debug? Normalerweise verwende ich ClearCase View, um die Anwendung zu starten (aber jetzt spreche ich über Tests). – Zygmuntix