Dostęp do projektów przez DTE w szablonie C # T4
Obecnie próbuję wykonać iterację wszystkich moich projektów (sharepoint), aby uzyskać wszystkie dodatki funkcji do pliku. tam chcę poprzedzić je nazwą projektu. Moim problemem jest DTE.Solution.Item i DTE.Solution.Projects.Item (lub moduły wyliczające dla foreach) nie przyjmują liczby całkowitej jako parametru, a foreach zwraca obiekt, który nie może być rzutowany na Project.
Oto mój fragment kodu:
var hostServiceProvider = (IServiceProvider) Host;
var dte = (DTE) hostServiceProvider.GetService(typeof(DTE));
var projectCount = dte.Solution.Projects.Count;
var projects = new Dictionary<string, string>();
foreach(Project dteProject in dte.Solution)
{
var dteProject = dte.Solution.Item(i);
projects.Add(dteProject.Name, dteProject.FullName);
}
Dobra - kod jest w porządku - debugger NIE! Moje wyjątki, które są wyrzucane w kontekście debugowania, ale szablon będzie działał poprawnie, jeśli debuger nie zostanie dołączony.