Ho una soluzione in Visual Studio con 5 progetti. Essi sono:Riferimento all'assemblaggio creato con ILMerge in progetti Visual Studio
Foo.Core
: funzionalità core- : codice generato costruito sulla cima del nucleo
Foo.Web
: estensioni Web-specificiFoo.Web.Mvc
: MVC-specifica estensioniNewtonsoft.Json
: libreria di 3a parte
voglio usare ILMerge per unire Foo.Core
, e Newtonsoft.Json
in un unico assembly, chiamato Foo
. Questa è la parte facile.
Il problema che sto riscontrando è che Foo.Web
e Foo.Web.Mvc
devono entrambi fare riferimento a tutti e tre gli assembly uniti.
Se faccio riferimento agli assiemi originali, avranno riferimenti non validi dopo che eseguirò ILMerge.
Se faccio riferimento all'assembly ILMerged, devo fare riferimento a un assembly di debug e quindi modificarlo prima di impacchettare tutto, il che non sembra ideale.
Ho provato a creare un progetto chiamato Foo
, che fa riferimento ai 3 gruppi uniti e sostituisce il proprio output con l'assembly ILmerged, ma non sembra funzionare affatto.
Esiste un modo affidabile per farlo?
Sì, ho provato a farlo, ma non ho potuto ottenere l'effetto che stavo cercando. Sembra che l'ILMerge abbia bisogno di essere riservato per un passo finale prima di un rilascio piuttosto che una cosa in fase di compilazione. –
Penso che tu possa ottenere questo risultato se i tuoi progetti sono costruiti nell'ordine corretto. Hai impostato le dipendenze del progetto per garantire l'ordine di costruzione? – JoeBilly