Ho sollevato un connect issue per tale comportamento.VS 2015 copie per l'output di riferimenti GAC di un riferimento di progetto indipendentemente dall'impostazione locale di copia
VS 2015
copie per l'output GAC
riferimenti di un riferimento di progetto indipendentemente dall'impostazione locale della copia. VS 2010
non lo fa con la stessa soluzione & progetti, rispettando la copia locale di proprietà. L'unica soluzione che ho trovato finora è aggiungere un riferimento diretto a Microsoft.Web.Services3.dll
nel Progetto A e impostarlo su copy local = false.
Procedura per riprodurre:
Project A
|__ Project B (Project Reference, copy local = true)
|__Microsoft.Web.Services3.dll (GAC, copy local = false)
attuale:
Microsoft.Web.Services3.dll
viene copiato nella directory di output del Progetto A.
atteso:
Microsoft.Web.Services3.dll
non viene copiato nella directory di output del Progetto A.
Qualche idea del motivo? Lo MSDN documentation indica chiaramente che le dipendenze GAC
non devono essere copiate sull'output e VS 2010
rispetta questo.
FYI, VS2013 rispetta anche questo (almeno con i miei casi). Probabilmente aspetterò un aggiornamento 1 a VS 2015 prima di migrare ad esso. –
Sì, meglio aspettare - prima di interrompere il processo di compilazione :) – vezenkov
È necessario scoprire in che modo MSBuild è riuscito a trovare quella DLL in primo luogo. Non dovrebbe essere presente nella directory di build di B, sembra che fosse. Modifica la verbosità di MSBuild su Dettagliato e pubblica le linee pertinenti dalla traccia che ottieni. –