Acessando projetos via DTE no modelo C # T4
Atualmente estou tentando iterar todos os meus projetos (sharepoint) para obter todos os guias de recursos em um arquivo. lá eu quero prefixo-los com o nome do projeto. Meu problema é DTE.Solution.Item e DTE.Solution.Projects.Item (ou os enumeradores de foreach) não terá um inteiro como parâmetro e foreach retorna um objeto que não pode ser convertido para o Project.
Aqui está o meu trecho de código:
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);
}
Ok - o código está bem - o depurador NÃO é! Minhas Exceções foram lançadas em um contexto de depuração, mas o Modelo será executado corretamente se o depurador não estiver conectado.