2010-06-06 10 views
5

In Visual Studio 2010, ho il progetto A (applicazione asp.net). Progetto Un progetto di riferimento B (libreria di classi). Il progetto B fa riferimento all'assembly C (riferimento diretto a una DLL).Come copiare le dipendenze dell'assembly di riferimento nella cartella bin di output ASP.NET?

Quando si crea il progetto A, solo i binari del progetto A e del progetto B sono presenti nella directory/bin del progetto A, ma non l'assembly C. Perché? Se il progetto B dipende dall'assemblaggio C, perché l'assembly C non viene copiato insieme nella cartella di output?

"Copia locale" è già impostato su "true" per il montaggio C.

risposta

1

sono riuscito a soluzione il problema aggiungendo questa variabile a una classe al progetto B:

private Type t = typeof(SomeClassInAssemblyC); 

Ora, quando ho costruire progetto A, entrambi i binari B del progetto e il gruppo C DLL vengono copiati nella directory/bin del progetto A.

+1

Un'altra cosa che ho notato è che se si fa riferimento a una DLL presente nel file system e installata anche nel GAC, non verrà copiata nella directory/bin quando il progetto viene creato. – LeoD

2

Questo perché libreria C verrà copiato nella directory di output di libreria di B e che directory è diversa dalla libreria A. Se si commette sia A che B per costruire nella stessa directory vedrai la libreria C uscita lì.

Problemi correlati