gpt4 book ai didi

c# - T4 模板中无法识别 EnvDTE 类型

转载 作者:行者123 更新时间:2023-11-30 14:35:16 25 4
gpt4 key购买 nike

我正在努力跟上 T4 模板的速度。我找到了以下示例 ( here):

<#@ template hostspecific="True" #>
<#@ output extension="txt" #>
<#@ include file="T4Toolbox.tt" #>
<#@ import namespace="EnvDTE" #>
<#
CodeEnum enumeration = GetEnum("ContactType.cs");
WriteLine("Found enumeration " + enumeration.Name);
foreach (CodeElement element in enumeration.Children)
{
CodeVariable value = element as CodeVariable;
if (value != null)
WriteLine("… found value " + value.Name);
}
#>
<#+
private CodeEnum GetEnum(string enumFile)
{
ProjectItem projectItem = TransformationContext.FindProjectItem(enumFile);
FileCodeModel codeModel = projectItem.FileCodeModel;
return FindEnum(codeModel.CodeElements);
}

private CodeEnum FindEnum(CodeElements elements)
{
foreach (CodeElement element in elements)
{
CodeEnum enumeration = element as CodeEnum;
if (enumeration != null)
return enumeration;
enumeration = FindEnum(element.Children);
if (enumeration != null)
return enumeration;
}
return null;
}
#>

EnvDTE 命名空间中的任何类型都无法识别。我正在使用 Visual T4 扩展。所有 EnvDTE 类型都带有红色下划线。模板未运行,我收到如下错误列表:

The type or namespace ... could not be found (are you missing a using directive or assembly reference?)

有人知道怎么解决吗?

最佳答案

您是否在您的项目中添加了对 ENVDTE 和 ENVDTE80(90 等)的引用?

关于c# - T4 模板中无法识别 EnvDTE 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com