2013-05-10 18 views
5

Creo una nuova soluzione e aggiungo alcuni progetti tramite lo Solution2.AddFromTemplate. Ora, prima di poter costruire la mia soluzione con successo, ho bisogno di aggiungere un riferimento di progetto da uno dei progetti all'altro. Sto cercando di navigare nel modello di oggetti VS Automation, ma non riesco a trovare come farlo.Come aggiungere un riferimento a un altro progetto nella mia soluzione tramite l'automazione di Visual Studio

Mi rendo conto che potrei semplicemente aprire il csproj come XML e cambiarlo su disco (come suggerito here), ma poi ho bisogno di gestire Visual Studio rilevando il file di progetto cambiando e chiedendo di ricaricarlo.

Qualcuno sa come fare questo o indicarmi la giusta direzione?

+1

Fare clic con il tasto destro del mouse sul progetto -> Aggiungi riferimento -> Soluzione -> scegliere un altro progetto da aggiungere. Non è sufficiente? – filipko

+0

No, lo sto facendo tramite l'API di automazione di Visual Studio. Non c'è alcun elemento UI cliccando come l'interfaccia utente di Visual Studio non viene nemmeno visualizzata. Vedi anche questo link: http://msdn.microsoft.com/en-us/library/envdte%28v=vs.80%29.aspx – MvdD

risposta

4

Trovato la risposta, pubblicazione per riferimento futuro.

Il trucco consiste nel trasmettere la proprietà Object di EnvDTE.Project a VSProject e quindi chiamare AddProject nella sua proprietà References.

var targetProject = (VSProject) _project.Object; 
targetProject.References.AddProject(sourceProject);