相关疑难解决方法(0)

在C#T4模板中通过DTE访问项目

我目前正在尝试迭代我的所有项目(sharepoint)以将所有功能guid放入文件中.我想在它们前面加上项目名称.我的问题是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);
}
Run Code Online (Sandbox Code Playgroud)

好的 - 代码没问题 - 调试器不是!抛出调试上下文的我的异常,但如果没有附加调试器,模板将运行正常.

c# t4 envdte visual-studio-2012

9
推荐指数
1
解决办法
7427
查看次数

标签 统计

c# ×1

envdte ×1

t4 ×1

visual-studio-2012 ×1