Domanda strana, come al mio solito![]()
E' possibile fare in modo che per ogni pagina di un progetto, venga compilata una dll a sé stante, invece che compilare una libreria unica con tutte le routine e funzioni richiamate da tutte le pagine del progetto?
Domanda strana, come al mio solito![]()
E' possibile fare in modo che per ogni pagina di un progetto, venga compilata una dll a sé stante, invece che compilare una libreria unica con tutte le routine e funzioni richiamate da tutte le pagine del progetto?
La risposta è sì, ma non vedo l'utilità di una simile implementazione.Originariamente inviato da Yauchie
Domanda strana, come al mio solito![]()
E' possibile fare in modo che per ogni pagina di un progetto, venga compilata una dll a sé stante, invece che compilare una libreria unica con tutte le routine e funzioni richiamate da tutte le pagine del progetto?
Suppongo che utilizzi la tecnica code behind per il codice vero e proprio delle tue pagine...perchè separare questo codice in tante DLL piuttosto che riunire tutti i file sorgente, uno per ogni pagina, all'interno di una stessa cartella e compilarli tutti assieme in una singola DLL monolitica?
La tua soluzione potrebbe essere sensata se la DLL delle pagine raggiunge dimensioni ragguardevoli; piuttosto che compilare ogni pagina in un assembly a se stante, io cercherei di suddividere le pagine a seconda di un ipotetico "contesto di appartenenza", raggruppandole in base a tale contesto.
Potrebbe essere una soluzione intermedia meno complessa e dispersiva, ma che risolve comunque il tuo problema...che ne pensi?
Magari specifica il motivo dell'espediente che hai deciso di adottare...magari è possibile trovare una soluzione più consona.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
In pratica voglio semplicemente che determinate pagine, prese come "moduli" dell'applicazione, possano essere semplicemente copiate nella cartella dell'applicazione affinché siano già operative (pensa ad un'applicazione acquistata a moduli, il cliente per installare un modulo deve semplicemente copiare i file del modulo nella cartella...)
Hai detto che è possibile. Come?![]()
Ok, ho capito. Suppongo comunque che ai clienti venderai funzionalità piuttosto che pagine vere e proprie; ad esempio, la funzionalità di gestire un'anagrafica può tradursi nel disporre di più pagine, una per la visualizzazione, una per la modifica dei dati, una per le statistiche, ecc.Originariamente inviato da Yauchie
In pratica voglio semplicemente che determinate pagine, prese come "moduli" dell'applicazione, possano essere semplicemente copiate nella cartella dell'applicazione affinché siano già operative (pensa ad un'applicazione acquistata a moduli, il cliente per installare un modulo deve semplicemente copiare i file del modulo nella cartella...)
Dipende dall'ambiente o tool che utilizzi. Innanzitutto, devi "disaccoppiare" il codice sorgente dal file ASPX inserendolo in un file sorgente a parte (usando la tecnica code behind); poi, compili in una DLL uno o più file sorgenti nel linguaggio che preferisci per inserire nell'assembly (la DLL) le classi relative alle pagine che vuoi utilizzare in quella libreria (una o più pagine).Originariamente inviato da Yauchie
Hai detto che è possibile. Come?![]()
Copiando tale libreria nella cartella bin della directory virtuale, ogni pagina ne avrà la visibilità; ti basterà aggiungere la clausola Inherits alla direttiva @Page presente nelle pagine per indicare da quale classe eredita la tua pagina; sarà poi il sistema a ricercare il codice implementativo all'interno della DLL corrispondente, dato che ogni DLL include i metadati, cioè una parte che descrive esattamente ciò che la DLL stessa contiene.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Uso visual studio e naturalmente il code behind.
Ma quando faccio la generazione della DLL, ne viene generata una sola per tutti i file del progetto. Come faccio a fargli compilare una DLL per ciascuna pagina del progetto, pur conservando tutti i file nello STESSO progetto così che possa condividere file di codice, css, tra loro?
Se non ricordo male, Visual Studio consente di creare delle Soluzioni, e queste Soluzioni possono essere costituite da diversi progetti.Originariamente inviato da Yauchie
Uso visual studio e naturalmente il code behind.
Ma quando faccio la generazione della DLL, ne viene generata una sola per tutti i file del progetto. Come faccio a fargli compilare una DLL per ciascuna pagina del progetto, pur conservando tutti i file nello STESSO progetto così che possa condividere file di codice, css, tra loro?
Dovresti creare tanti progetti, uno per ogni "modulo" in cui vuoi suddividere la tua soluzione, appunto, ciascuno dei quali costituisce una DLL che viene compilata utilizzando i file sorgente inclusi nel progetto corrispondente.
Se hai delle risorse in comune da condividere tra le pagine dei vari "moduli", crea un ulteriore progetto in grado di contenere tali risorse; ciascun progetto vi farà poi riferimento per poter essere compilato in modo corretto.
Tutto questo solo a livello teorico...ad ogni modo, se c'è bisogno di altri suggerimenti sono a disposizione.![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Sì...è quello che faccio per lavorare contemporaneamente su diversi progetti senza avere n finestre dell'ide aperte.
Il problema è che le pagine che voglio usare come "moduli" devono poter condividere stessi file di css, javascript, e soprattutto librerie di codice vb, quindi non posso metterle in progetti separati![]()
I file CSS, JavaScript e VB da condividere possono diventare, appunto, la tua libreria condivisa; per quanto riguarda i file VB, puoi compilarli all'interno di un progetto che crea la DLL condivisa in cui risiedono tutte le classi in comune tra le varie librerie (DLL) che costituiscono i moduli. Avrai quindi una soluzione che rappresenta la parte comune della tua applicazione globale.Originariamente inviato da Yauchie
Sì...è quello che faccio per lavorare contemporaneamente su diversi progetti senza avere n finestre dell'ide aperte.
Il problema è che le pagine che voglio usare come "moduli" devono poter condividere stessi file di css, javascript, e soprattutto librerie di codice vb, quindi non posso metterle in progetti separati![]()
In quella soluzione puoi mettere anche i file CSS e JavaScript condivisi, tanto si tratta di file che non devono essere compilati ma trovarsi semplicemente nelle cartelle loro dedicate, a meno che alcuni di questi non siano specifici per "modulo", e allora potrai inserire questi ultimi nella soluzione specifica alla libreria modulo relativa.
La DLL condivisa dovrai distribuirla comunque, mentre le librerie dei moduli e le relative pagine dovranno essere distribuite secondo le richieste dei tuoi clienti.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...