19 messaggi dal 06 settembre 2002
Salve

Ho un problemino...
Ho un progetto formato da un "web progetto" principale e da sotto progetti (class library) che dipendono dal quello principale.
Con la 1.1 non facevo altro che creare una dipendenza di progetto selezionavo il progetto principale ed nella directory bin veniva inserito la dll principale e le dll del sotto progetti.
Ora ho notato che la 2.0 non mi fa l'assembly sotto la directory bin (ho letto da messaggi precedenti che si ottiene solo da shell tramite SDK 2.0) inoltre i miei sotto progetti (class library) non hanno il riferimento al progetto web. Sembra che quando creo il "web progetto" non lo renda condiviso nelle referenze di progetto.

In altre parole ho i sotto progetti che non posso referenziarli con il progetto principale ed inoltre non posso neanche prendere la dll (principale) perchè non c'è.

Ma è possibile che per far ciò devo creare la dll da shell ed referenziare i sotto progetto, ma se cambio qualcosa? devo rifare tutta la procedura.


Grazie
Forse mi sta sfuggendo qualcosa ma di solito io ho una dipendenza inversa tra class library e progetto web: è il progetto web che dipende dalle librerie di classi (l'inverso mi sembra alquanto strano!)
Ad ogni modo - se la tua esigenza è quella che hai descritto - potresti scriverti un file batch che compili la dll web (da shell dell'sdk) e richiamarlo ad ogni modifica che apporti (puoi dire a vs di farlo quando ricompila)

E' una *soluzione* veramente stupida, lo so!

Matteo Casati
GURU4.net
Ha ragione m.casati. La presenza di app_code è stata introdotta proprio per evitare di dover compilare e quindi non hai un assembly palpabile. In linea generale però è sbagliato se una class library referenzia il progetto web, è il contrario.
Se proprio vuoi anche ciò che hai messo nell'app_code lo poni in una class library.

Ciao

Il mio blog
Homepage
Ricciolo ha scritto:
Ha ragione m.casati


Sai che - leggendo il post di p.geraci
- per un attimo mi è venuto il dubbio che da qualche anno a questa parte ho fatto ca##ate immense?

Ma a quanto pare non è così...  Meno male!

Matteo Casati
GURU4.net
19 messaggi dal 06 settembre 2002
grazie per le risposte

Ho un progetto web centrale diciamo un gestionale (il cuore centrale), poi mano mano che devo fare delle parti (moduli di gestione) personalizzate, faccio delle class library.

Ora dentro di esse ci faccio i miei gestionali che avvolte erreditano alcuni gestionali (pagine aspx) dal progetto web oppure chiamo delle classi per la connessione al db, prende informazioni degli utenti etc...

Per cui ora ho un grosso problema, il progetto web principale deve distribuire alcune sue classi nei sotto progetti (class library).

Non credo di aver fatto una pazzia o di aver cambiato la filosofia di programmazione....

grazie mille
p.geraci ha scritto:

Non credo di aver fatto una pazzia o di aver cambiato la filosofia di programmazione....


Beh, però non stai adottando il modello n-tier nel modo "consueto".
La suddivisione più tipica è su 3 livelli:

1) DAL (data access layer) - tipicamente è una class library con le funzionalità di accesso al database (metodi CRUD)

2) BLL (business logic layer) - tipicamente è una class library con le logiche applicative (calcoli, gestione delle entità, relazioni tra le stesse, ecc.). Comunica con il DAL per la persistenza dei dati

3) UI (user interface) - può essere un'applicazione Web o Windows Forms. Ha le reference al BLL (e di conseguenza al DAL) e si limita a presentare i dati o i moduli per l'interazione con gli stessi (form di inserimento/modifica, ecc.)

P.S.: non volevo fare una lezione sull'architettura del software, quindi non prendere qs. post come una critica. Se hai scelto una soluzione diversa avrai sicuramente avuto le tue buone ragioni!

Matteo Casati
GURU4.net

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.