Suppongo che tu abbia l'applicazione A, l'applicazione B, l'applicazione C e così via, che siano tutti esattamente uguali, tranne che differiscono per alcune proprietà di configurazione definite nei loro file web.config.
Naturalmente questo è possibile - il modo più semplice è impostare il progetto come applicazione Web, quindi compilare, quindi condividere quella DLL tra le applicazioni. Puoi usare il GAC se lo desideri.
È possibile impostare singoli siti in IIS che puntano a una directory condivisa (o utilizzare una directory virtuale in ciascuno) in cui si trova tutta la logica, ma non è possibile condividere la cartella app_code.
EDIT
RichardOD ha la migliore risposta di cui sopra, e mi hanno messo in atto qualcosa di simile prima d'ora. Fondamentalmente, ho impostato un file di configurazione personalizzato che fa riferimento a web.config (per impedire il riavvio dell'app quando apporto le modifiche ad esso). Questo file viene letto dal nome host e contiene proprietà specifiche su base host.
Tutto ciò che faccio è aggiungere intestazioni host a IIS e una voce per quell'host nel file di configurazione personalizzato. Fatto.
Qual è la differenza tra i due file .config? Forse solo in relazione all'autenticazione e all'autorizzazione? Di solito è possibile trovare altri modi per gestire problemi come questi (come la condivisione tra il sito Internet e il sito Intranet che lo gestisce). –
L'unica differenza è qualche appSettings. Ero solo curioso di sapere se potevo fare questo senza modificare alcun codice. –
@ Jakob- Potresti farlo con le impostazioni dell'app prefiggendo un qualche tipo di chiave specifica dell'app, ma ciò richiederebbe comunque una modifica del codice. – RichardOD