Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250

    [C#] Downgrade di DLL Opc Client Ace

    Buongiorno a tutti,
    Ho un programma da manutenere realizzato in C#, abbastanza complesso, datato e non realizzato da me.
    Per una serie di necessità che non sto qui a spiegare ho bisogno di fare un downgrade di alcune dll che gestiscono la comunicazione OPC ua con un PLC Siemens al quale il PC è connesso tramite ethernet.
    Io pensavo bastasse sostituire le dll "nuove" con quelle vecchie e "il gioco è fatto".
    Ahimè, dopo svariati tentativi il sorgente compila correttamente ma in runtime mi genera un'eccezione che recita: "Non è stato possibile caricare il file o l'assembly Keepware.ClientAce.OPCClient versin ..... od una delle relative dipendenze --> System Bad Image Format Exception"

    Così ad occhio mi sembra che il software stia tentando di utilizzare delle dll con una versione x, ma da qualche parte abbia ancora i riferimenti della versione y e quindi non riesce a trovare il match corretto.

    Purtroppo, oltre a questo non so cos altro dire perchè una cosa del genere non l'ho ma affrontata.
    Se qualcuno riuscisse a darmi qualche dritta per dove sbattere la testa gliene sarei davvero grato.

    Grazie,
    Marco.

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Dipende
    In generale però "System Bad Image Format" dovrebbe essere un eccezione legata al formato della DLL, probabilmente hai messo una dll compilata a 32but su uno che ne aspetta una da 64bit (o viceversa.)

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Quote Originariamente inviata da URANIO Visualizza il messaggio
    In generale però "System Bad Image Format" dovrebbe essere un eccezione legata al formato della DLL, probabilmente hai messo una dll compilata a 32but su uno che ne aspetta una da 64bit (o viceversa.)
    Mi associo anche io a questa ipotesi: più volte mi è capitato di utilizzare assembly .NET che erano "targetizzati" su una CPU specifica in quanto wrapper di DLL magari native e appositamente progettate per un'architettura di CPU specifica.

    Quanto esposto in questa discussione sembra ricondurre molto probabilmente a uno scenario di questo tipo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Quote Originariamente inviata da URANIO Visualizza il messaggio
    Dipende
    In generale però "System Bad Image Format" dovrebbe essere un eccezione legata al formato della DLL, probabilmente hai messo una dll compilata a 32but su uno che ne aspetta una da 64bit (o viceversa.)
    Grazie mille delle risposte, però quando compilo su visual studio sto selezionando x86 o anche anyCpu (il risultato non cambia)
    C'è un modo di capire se sono in possesso di una dll a 32 o a 64?

    Grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Quote Originariamente inviata da alka Visualizza il messaggio
    Mi associo anche io a questa ipotesi: più volte mi è capitato di utilizzare assembly .NET che erano "targetizzati" su una CPU specifica in quanto wrapper di DLL magari native e appositamente progettate per un'architettura di CPU specifica.

    Quanto esposto in questa discussione sembra ricondurre molto probabilmente a uno scenario di questo tipo.

    Ciao!
    si può verificare in qualche modo il target di questi assembly?
    Grazie

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Quote Originariamente inviata da Marco1995 Visualizza il messaggio
    si può verificare in qualche modo il target di questi assembly?
    Guarda gli esempi riportati in questa pagina.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    Quote Originariamente inviata da alka Visualizza il messaggio
    Guarda gli esempi riportati in questa pagina.

    Ciao!
    Mahh.. che strano.. mi da badImageFormat anche con le dll che funzionano (sia in compilazione che in esecuzione)

Tag per questa discussione

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.