2013-05-10 14 views
5

Tworzę nowe rozwiązanie i dodam do niego niektóre projekty za pomocą Solution2.AddFromTemplate. Zanim uda mi się pomyślnie zbudować moje rozwiązanie, muszę dodać odniesienie do projektu z jednego z projektów do drugiego. Próbuję poruszać się po modelu obiektu automatyzacji VS, ale nie mogę go znaleźć.Jak dodać odniesienie do innego projektu w moim rozwiązaniu za pomocą automatyzacji Visual Studio

Zdaję sobie sprawę, że mogę po prostu otworzyć csproj jako XML i zmienić go na dysku (zgodnie z sugestią here), ale muszę obsługiwać Visual Studio wykrywania zmiany pliku projektu i monitowania o ponowne załadowanie.

Ktoś wie, jak to zrobić, lub wskazać mi właściwy kierunek?

+1

Kliknij prawym przyciskiem myszy na projekcie -> Dodaj referencję -> Rozwiązanie -> wybierz inny projekt do dodania. Czy to nie wystarcza? – filipko

+0

Nie, robię to za pośrednictwem interfejsu API automatyzacji Visual Studio. Nie ma elementu interfejsu użytkownika, ponieważ interfejs użytkownika Visual Studio nie jest wyświetlany. Zobacz także ten link: http://msdn.microsoft.com/en-us/library/envdte%28v=vs.80%29.aspx – MvdD

Odpowiedz

4

Znaleziono odpowiedź, księgowanie na przyszłość.

Sztuką jest rzutowanie właściwości Obiekt obiektu EnvDTE.Project do VSProject, a następnie wywołanie AddProject w jego właściwości Odwołania.

var targetProject = (VSProject) _project.Object; 
targetProject.References.AddProject(sourceProject); 
Powiązane problemy