Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Deploy & Assembly

1 view
Skip to first unread message

stormyever

unread,
Sep 26, 2010, 2:22:37 PM9/26/10
to
Salve ragazzi.
Un piccolo problema.
Si tratta di deployare un'applicazione Asp.Net su un Server
( efinqui..)
Il punto è che l'appicazioni ha bisogno di della reference ad un
assembly particolare
che sul server di destinazione è installato nella GAC.

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.

Raffaele Rialdi [MVP]

unread,
Sep 26, 2010, 2:36:45 PM9/26/10
to

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/


0 new messages