Ho una soluzione di Visual Studio con un progetto d # Cll. Questa soluzione ha anche un progetto di test che fa riferimento all'output del progetto C# dll. La dll di progetto referenziata ha impostato Copy Local = true.Perché MSTest non copia le librerie di progetto di riferimento?
Se eseguo questo test da Visual Studio, funziona correttamente.
Ma se lo eseguo dall'attività MSBuild, per qualche motivo MSTest non copia la DLL C# di riferimento nella cartella di lavoro MSTest, quindi il test ha esito negativo. La cosa strana è che tutte le altre librerie referenziate vengono copiate nella cartella di lavoro MSTest. E se metto un
[DeploymentItem(@"PleaseCopyThis.dll")]
prima che il mio metodo di prova, infine, viene copiato il MSTest cartella di lavoro e il mio test funziona bene.
Ma perché Visual Studio copia solo le DLL di riferimento che non fanno parte della soluzione, ma non copia le DLL di progetto di riferimento?
Hai mai trovato una soluzione per questo? – amaters
No, ho appena lasciato quel particolare test con DeploymentItem. Forse c'era qualcosa di sbagliato in quel progetto di test, è stato importato in VS 2010 da VS 2008. – JustAMartin
Ho avuto lo stesso identico problema. Carichiamo molte DLL dinamicamente e nessuna di esse viene copiata durante l'esecuzione di MSTest. La soluzione migliore che ho visto è aggiungerli come elemento di implementazione. –