現在、すべてのプロジェクト (sharepoint) を繰り返し処理して、すべての機能ガイドをファイルに取得しようとしています。そこにプロジェクト名をプレフィックスとして付けたいと思います。私の問題は、DTE.Solution.Item と DTE.Solution.Projects.Item (または foreach の列挙子) がパラメーターとして整数をとらず、foreach が Project にキャストできないオブジェクトを返すことです。
ここに私のコードスニペットがあります:
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);
}
わかりました - コードは問題ありません - デバッガはそうではありません! 私の例外はデバッグコンテキストでスローされましたが、デバッガーがアタッチされていない場合、テンプレートは正常に実行されます。