Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [c#] Importa libreria

  1. #1

    [c#] Importa libreria

    Salve a tutti,

    ho un problema. Ho una libreria che ho sviluppato in c# (nomeLibDll.dll), che, per motivi che non sto a spiegarvi, ho bisogno di importare in una classe c#.
    Ho messo la libreria in c:\windows\sistem32 e l'ho richiamata con
    codice:
     [DllImport("nomeLibDll")]
    e ho richiamato il metodo che mi serve con
    codice:
    public static extern void metodoDellaLibreria()
    La libreria viene agganciata ma restitisce un errore sulla chiamata del metodo: "Impossibile trovare un punto di ingresso con nome 'trovaLayoutMagazzinoBool' nella DLL 'ConfiguratoreBase.dll'."
    Dove sbaglio? Devo definire un entryPoint nella libreria? ...e come si fa?

    grazie in anticipo x l'attenzione

  2. #2
    Non ho capito... nomeLibDll.dll è una dll C# o nativa?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    è una libreria in c# che ho sviluppato io

  4. #4
    Allora perché usi DllImport? Quello serve per importare funzioni di dll native; per dll .NET ti basta aggiungere un riferimento alla dll nel tuo progetto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Purtroppo uso un software che mi permette solo di creare questo file .cs ... quindi ho pensato di agganciare la mia libreria direttamente a questo file con dllimport

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,317

    Moderazione

    Magari utilizzare il forum giusto...

    Sposto su Visual Basic e .NET Framework.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Originariamente inviato da gorgonzola
    Purtroppo uso un software che mi permette solo di creare questo file .cs ... quindi ho pensato di agganciare la mia libreria direttamente a questo file con dllimport
    Non capisco... che software usi? In che senso ti consente di creare solo il file .cs? In ogni caso anche senza Visual Studio puoi aggiungere riferimenti a dll .NET specificando le opzioni appropriate per il compilatore.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Salve, riprendo questa discussione visto che il mio problema nasce proprio dall'import di una serie di DLL all'interno di un progetto C# creato con Visual Studio 2008.

    Il contesto è il seguente:
    Ho creato un progetto C# per Windows Mobile 5.0 (versione .NET 2.0) nel mio codice ho dovuto fare riferimento a codice nativo del device che utilizzo, per utilizzare le funzionalità del device ho importato due class library contenute in due DLL, fin qui tutto bene, ho creato un primo esempio, compilato e deployato sul device, lancio e tutto funziona, finche non faccio riferimento ad uno delle istanze delle classi importate contenute nelle DLL di cui sopra. Catturo l'errore, il messaggio è il seguente:

    "can't find PInvoke DLL 'xxxx.dll'"..

    vado a cercare nell'installazione del pacchetto software del device, trovo in una directory la DLL incriminata, quello che faccio è fare come per le altre DLL aggiungo ai reference, quando vado ad aggiungere mi dice :

    "A reference to 'xxxx.dll' could not be added" così per un'altra libreria sul quale avevo lo stesso errore a runtime.

    Io penso che queste dll possano essere svilupate in C o C++, ma a quanto ho capito non dovrebbe essere un problema. Come posso aggiungere queste dll?
    Oppure non posso farlo?

    grazie anticipatamente.

  9. #9
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    devi utilizzare il metodo nel primo post di questa discussione..

    cioè fare l'import da codice e specificare che metodi espone (che devi conoscere) con la parola chiave "extern"..

    così puoi utilizzare dll native in un contesto gestito come il c#

  10. #10
    Sostanzialmente mi stai dicendo di andare a definire tutte le funzioni, contenute nelle DLL che non riesco ad aggiungere, che potenzialmente saranno utilizzate dalle classi nelle DLL che ho importato?

    Bhè provo a vedere che succede...anche se non ho idea di che funzioni utilizzino...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.