Ho una soluzione di Visual Studio 2010 impostata per la compilazione in Debug x86. Pertanto, Visual Studio imposta il percorso di output su \ bin \ x86 \ Debug, che sembra abbastanza logico.Directory di output durante la creazione di un progetto WCF in Visual Studio
La soluzione contiene circa 50 progetti; il progetto di start-up è un progetto WCF.
Quando eseguo una generazione, mi aspetto che tutte le DLL di output vengano spostate su \ bin \ x86 \ Debug, in quanto è ciò che viene impostato nelle impostazioni del progetto. Ma stranamente, vedo le DLL create in bin \ x86 \ Debug e in \ bin. Perché Visual Studio inserisce una DLL in \ bin se il percorso di output non è impostato su quella directory? Sembra che tutte le DLL vadano a \ bin \ x86 \ Debug e tutte le DLL ad eccezione del progetto di avvio andare in \ bin. Qualche idea sul perché lo farebbe? (Abbiamo altre soluzioni che non usano WCF e non hanno questo problema.)
L'altro fastidio è se eseguo il servizio da Visual Studio e poi provo ad accedere al mio servizio in un browser web, andando a http://localhost:1240/MyService.svc, non funziona, perché la dll del progetto di avvio manca a/bin. Devo quindi copiare manualmente questa dll da \ bin \ x86 \ Debug a \ bin, in modo che vengano trovate tutte le DLL e il servizio venga eseguito normalmente. (Potremmo naturalmente aggiungere un passaggio post-generazione personalizzato che fa la copia, ma penseresti che ci sarebbe un modo migliore!)
Per quelli di voi che lavorano su progetti WCF, si lascia il percorso di output a \ bin \ x86 \ Debug? (Forse c'è un modo per configurare il servizio, ad esempio nel file web.config o .svc, in modo che sappia che i binari sono in \ bin \ x86 \ Debug invece di \ bin?) O si modifica il percorso di output in \ bin in modo da poter eseguire il servizio direttamente da Visual Studio?
Sì, quella casella di testo è il "percorso di output" di cui parlo nel mio post. Quindi stai dicendo che l'hai impostato su bin, fine della storia. Sembra strano però che se si modifica questo percorso di output, la maggior parte dei file va comunque in bin, no? – Justin
Per il percorso di output predefinito del progetto WCF, punta alla cartella bin \\ [BuildConfiguration]. Poiché il servizio WCF vuole che le dll siano presenti nella directory bin e non in alcuna sottodirectory, la configurazione di progetto predefinita per il progetto WCF se creata da Visual Studio è la cartella bin. – Chandermani
Questo mi ha fatto fare un po 'di roba MVC3, dove i binari andavano in bin \ x86 \ debug in base alle impostazioni di Configuration Manager della soluzione. Speriamo che questo possa aiutare la prossima persona che si agita intorno ... Basta cambiare l'output del sito in bin \ – Snowy