Negli ambienti di sviluppo l'assembly originale non funzionerebbe per
tanti motivi,
per cui ci han fornito un assembly DUMMY ( stessa interfaccia etc...)
che simula soltanto un comportamento di quello originale.
Per lo sviluppo l'ho referenziato direttamente, senza installarlo
nella GAC ( strong name etc..),
ma ora è arrivato il momento di passare al server finale.
Sul server di destinazione inoltre ho la possibilità di ricompilare il
progetto
ma son convinto che la configurazione della reference
deve partire adeguatamente dal mio server, quello di sviluppo.
E ho le idee un po' confuse.
Per farla breve, non credo che una volta fatto il clean del progetto,
deployato il progetto senza quell'assembly DUMMY
la ricompilazione vada a buon fine ( nn credo che csc se la vada a
cercare da sola la reeference nella GAC.)
Insomma sono nella GAC o no? :P
Un poacco di gioia a chi mi risponde
e due pacchi se m'aiuta.
Dovresti rifare la add-reference con l'assembly definitivo. Questa è la
soluzione più semplice.
Soluzione alternativa 1:
- creare un assembly che contenga solo l'interfaccia
- implementare l'interfaccia sia nel tuo assembly dummy che nella dll
"vera"
- referenziare nel tuo progetto solo l'assembly dell'interfaccia
- caricare dinamicamente l'assembly finale con Assembly.Load scegliendo
la dll a seconda se sei in sviluppo o in deploy
Soluzione alternativa 2:
- simile alla 1 solo che lasci fare tutto a "MEF" che è un sistema per
creare plugin che trovi nel framework 4.0 oppure su codeplex trovi la
versione per la 3.5
Soluzione alternativa 3:
difficile da spiegare in un post, ma puoi giocare con la "type
equivalence" del framework 4.0 e definire i tipi nelle due dll in modo
tale che siano "equivalenti". In questo modo compili sulla tua macchina
ma l'altro assembly sarà ugualmente gradito al clr perché contiene i
tipi equivalenti.
--
Raffaele Rialdi http://www.iamraf.net
Weblog: http://blogs.ugidotnet.org/raffaele
Microsoft MVP profile
https://mvp.support.microsoft.com/profile/raffaele
UGIdotNET - http://www.ugidotnet.org/