2016-05-25 29 views
5

Uso VS Community 2015, con Setup Project extension. Non ho mai visto questo problema a lavorare con il 2010. Il problema è che quando aggiungo un progetto per l'uscita, elencare le dipendenze rilevate tutte le dll che ho usato nel progetto, tra cui il costruito in quelle:Il progetto di installazione sta aggiungendo costruito in .NET Framework. Assiemi di sistema in uscita

enter image description here

Dopo ho eseguito il programma di installazione, si procede quindi a installare un centinaio di file dll, inclusi i file che dovrebbero far parte del .NET Framework, come:

  • System.IO.dll
  • System.Linq. dll

ho fatto in modo che:

  • ho tutti i miei progetti impostato su .NET 4.5.2
  • all'interno Progetto di installazione, ho il framework di destinazione .NET impostato su .NET 4.5.2
  • all'interno di Setup Project, ho il Prerequisito impostato su .NET 4.5.2

Cosa sto facendo male? Come posso ottenere il setup per installare solo le DLL che non fanno parte di .NET Framework (come Caliburn o NLog). Grazie.

MODIFICA 1: Come per la domanda 'Claudius', ecco un elenco di framework .NET presumibilmente installati sul mio computer. Si noti che, sto cercando di installare sullo stesso computer su cui sto sviluppando. La cartella My/bin/Release non ha alcuna directory .NET .System e l'applicazione funziona correttamente da lì. enter image description here

EDIT 2: Trovato un'altra persona con un problema simile. Purtroppo irrisolto: Visual Studio Setup Project: Huge list of dependencies

+1

la macchina su cui si installa ha .NET 4.5.2? – Claudius

+0

@Claudius Ho aggiunto gli screenshot dei framework installati alla mia domanda. Sto schierando sulla stessa macchina su cui mi sto sviluppando per ora. Come mai la cartella bin/Release non ha bisogno di quei file di sistema per l'esecuzione dell'applicazione? VS2015 è in grado di collegarli da una posizione solo VS di cui il sistema operativo non è a conoscenza? – Eternal21

+0

@ Eternal21 Sto affrontando la stessa situazione.Hai trovato una soluzione o escludi i file è la strada da percorrere? – Oscar

risposta

1

Questo potrebbe essere un problema di Visual Studio relativo all'utilizzo dell'output del progetto. Se si dispone, ad esempio, solo di una manciata di file che si desidera installare nella cartella dell'applicazione, forse alcuni in GAC, quindi basta aggiungere quei singoli file a tali posizioni nella vista File system sulla macchina target.

Potrebbe anche essere correlato all'impostazione CopyLocal, mi assicurerei che non sia impostato per gli assembly.

Mi piacerebbe anche assicurarmi che tu non abbia quell'impostazione che causa "Aggiungi riferimento" di Visual Studio per includere gli assembly dal GAC invece degli assembly SDK appropriati.

0

Se si seleziona un dll (ad esempio System.IO), che si è sicuri che è già nel .NET framework, è possibile impostare la proprietà Exclude nella finestra delle proprietà per True.

Il dll non verrà copiato nel file di installazione.