Diciamo che ho due progetti di A e B. A dipende da B. posso specificare questo in due modi:Differenza tra progetto e dll dipendenze nel .Net in assembly compilato finale
- Includere A e B nella stessa soluzione e specificare B come dipendenza del progetto per A. Questo si presenta nel progetto msbuild di A come nodo "ProjectReference".
- includere un riferimento alla DLL compilata del B come dipendenza per A. Questo si presenta nel progetto msbuild di A come nodo "di riferimento"
La mia domanda è, una volta che ho costruire l'assemblaggio per A, è c'è una differenza nell'output finale tra questi due metodi.
Ho provato a creare un paio di semplici progetti che modellano questa relazione e ho provato un confronto, ma diversi strumenti di confronto mi dicono cose diverse. In attesa di scrivere qualcosa che confronta questi file byte per byte, mi stavo chiedendo se voi gente sapeste qualcosa su questo. Specificamente, ci sarà qualche differenza nel comportamento dell'assemblaggio costruito se utilizzo il riferimento a dll invece di un riferimento di progetto.
@Timwi - grazie per l'impostazione dritto la direzione di dipendenza :-) per qualche motivo ho scritto esattamente opposta a esempio del PO –
anche per aggiungere alla risposta, nel caso in cui il progetto B dipendeva diciamo C. dll, se B è specificato come dipendenza del progetto di A, la compilazione del progetto A porterà automaticamente le dipendenze del progetto B (ad esempio C.dll). Invece se includi un riferimento alla dll compilata da B, non avrai C automaticamente aggiunto al bin di A, dovrai invece aggiungere manualmente tutte le dipendenze di B. –