Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB.NET] problema con dll personalizzata

    Ciao a tutti.
    Dopo un giorno di ricerche non sono venuta a capo dei miei problemi, per cui chiedo aiuto a voi.
    Cerco di spiegarmi:
    ho creato una suite di programmi in VB.NET 3.5 con funzioni diverse, ma che interagiscono con variabili e funzioni comuni, per cui ho pensato di ottimizzare il codice creando un'unica soluzione coi vari progetti e creando una dll per variabili e funzioni comuni.
    In fase di debug tutto bene, e pure se installo i singoli programmi con l'installer base di Visual Studio 2008.
    Ma avendo bisogno di diverse risorse comuni e di altri tools, sono dovuta ricorrere a un installer personalizzato e qui sono nati i problemi...

    Dunque: la mia DLL viene vista come .NET
    l'ho importata nei singoli progetti com output di un progetto
    copylocal di default è su True ma ho fatto vari tentativi, tipo:

    - settare il Reference Paths della dll nella cartella dei file comuni della suite e copiare dentro la dll, ma non trova il percorso
    - installare la dll nel CAG dando uno strong name alla dll, ma ricevo l'errore "La definizione del manifesto dell'assembly specificato non corrisponde al riferimento all'assembly"

    Dove la devo installare? Con che parametri? copylocal true o false? devo darle uno strongname o no?
    vi prego! la testa mi sta impazzendo e non riesco a capire più nulla...

    an passant, mi capita una cosa strana...
    se faccio delle modifiche ai progetti (tipo ho sostituito l'icona di uno dei software - ben visibile come modifica a prescindere dalle dll!!) anche se faccio e rifaccio il build dei progetti, quella maledetta vecchia icona ritorna!!!
    immagino di conseguenza che tutte le modifiche che faccio tipo al Reference Path vengano ugualmente ignorate...
    considerato che la cartella su cui lavoro è una copia di una versione funzionante (ma senza dll!!!) non è che sono rimasti dei settaggi della vecchia versione (tipo l'icona)?
    Ho provato a controllare e capita una cosa strana...
    nei progetti, come Build output path è indicato bin\Release\ ma in quelle cartelle non c'è nulla
    nella configurazione dell'installer invece, come cartella dell'output per ogni progetto è indicata Debug
    sbaglio qualcosa?...

  2. #2
    Ancora niente da fare...
    ho ricreato da capo la soluzione, creando nuovi progetti e importando i files vb già compilati, ma l'icona continua ad essere quella vecchia e la dll a non essere trovata...
    Questo l'errore riportato:

    codice:
    System.InvalidOperationException was unhandled
      Message="Errore durante la creazione del form. Per informazioni dettagliate vedere Exception.InnerException. Errore: Impossibile caricare il file o l'assembly 'ConferenceTools, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' o una delle relative dipendenze. La definizione di manifesto dell'assembly specificato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040)"
      Source="Conference Loader"
      StackTrace:
           in Conference_Loader.My.MyProject.MyForms.Create__Instance__[T](T Instance)
           in Conference_Loader.My.MyProject.MyForms.get_ConfigurazioneLoader()
           in Conference_Loader.My.MyApplication.OnCreateMainForm()
           in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
           in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
           in Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
           in Conference_Loader.My.MyApplication.Main(String[] Args)
      InnerException: System.IO.FileLoadException
           Message="Impossibile caricare il file o l'assembly 'ConferenceTools, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' o una delle relative dipendenze. La definizione di manifesto dell'assembly specificato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040)"
           Source="Conference Loader"
           FileName="ConferenceTools, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
           FusionLog="AVV: la registrazione dell'associazione di assembly è disattivata.\r\nPer attivare la registrazione degli errori di associazione di assembly, impostare il valore del Registro di sistema [HKLM\\Software\\Microsoft\\Fusion!EnableLog] (DWORD) su 1.\r\nNota: alcune penalità di prestazione sono associate alla registrazione degli errori di associazione di assembly.\r\nPer disattivare la funzionalità, rimuovere il valore del Registro di sistema [HKLM\\Software\\Microsoft\\Fusion!EnableLog].\r\n"
           StackTrace:
                in Conference_Loader.ConfigurazioneLoader..ctor()
           InnerException:
    Eppure se installo i software senza installer personalizzato è tutto ok...
    Ora il progetto di setup l'ho rifatto da capo, come fa a cercare ancora i vecchi path?
    Vi prego di aiutarmi perchè non so che altro devo fare!!!

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.