2010-05-25 10 views
1

Nous développons une application WinForm en utilisant le composant Scintilla.NET (1.7), qui utilise SciLexer.dll (unamnaged). Au moment de l'exécution, nous distribuons à la fois SciLexer.dll 32 bits et 64 bits, et nous chargeons le correct au démarrage de l'application (tout fonctionne bien). Dans nos nouveaux environnements de développement (Windows 7 64 bits), toutes nos solutions se construisent et s'exécutent très bien, mais le concepteur visuel WinForm ne charge pas nos formulaires/contrôles qui utilisent Scintilla.NET, car il ne peut pas charger le bon SciLexer.dll:Comment charger SciLexer.dll dans Visual Studio 2008 Designer, sur Windows 7 64 bits?

Window class name is not valid. 

at System.Windows.Forms.NativeWindow.WindowClass.RegisterClass() 
at System.Windows.Forms.NativeWindow.WindowClass.Create(String className, Int32 classStyle) 
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp) 
at System.Windows.Forms.Control.CreateHandle() 
at System.Windows.Forms.Control.get_Handle() 
at Scintilla.ScintillaControl.SendMessageDirect(UInt32 msg, IntPtr wParam, IntPtr lParam) 
at Scintilla.ScintillaControl.SendMessageDirect(UInt32 msg) 
at Scintilla.ScintillaControl.get_CodePage() 
at Scintilla.ScintillaControl..ctor(String sciLexerDllName) 
at Scintilla.ScintillaControl..ctor() 

Où Visual Studio 2008 recherche-t-il les bibliothèques non gérées? J'ai essayé de mettre le SciLexer.dll 64 bits dans SysWOW64, dans le dossier où ScintillaNET.dll est référencé, en ajoutant un dossier dans la variable système PATH, en ajoutant une référence de dossier dans le projet, mais je reçois toujours cette erreur.

Toute aide est appréciée.

Répondre

3

Ok, j'ai tout compris: je suis un noob totale sur les systèmes 64 bits, et je pensais que le dossier était SysWOW64 pour les bibliothèques 64 bits :)

Putting 32 bits SciLexer.dll dans SysWOW64 fonctionne comme un charme.

3

Juste eu la même erreur. Au lieu de vous tromper avec vos dossiers OS, vous pouvez ajouter l'emplacement de ces DLL à la variable d'environnement PATH (n'oubliez pas de redémarrer votre VS pour que les modifications prennent effet)

Questions connexes