projectItem 不包含 'Properties' 的定义

projectItem does not contain a definition for 'Properties'

我目前正在使用 IWizard 实现的 VSIX 项目中工作,试图调整 ItemTemplate 的一些属性。

我的向导 class(实现 IWizard)在调试 VSIX 时成功调用了 ProjectItemFinishedGenerating 方法。但是,我似乎可以实际访问的 projectItem 中唯一的 属性 是 Name,其中 gets/sets 是项目的文件名。这很好用。但是,我希望能够设置构建操作,但无法访问 projectItem 的任何其他属性,尽管它们出现在 Intellisense 中。

我是否遗漏了某种参考资料?当前引用的是 EnvDTE 8.0.0.0 和 Microsoft.VisualStudio.TemplateWizardInterface(当然还有我的模板项目中的程序集)。

下面是向导 class(我只包含了 IWizard 中的一种方法,因为我没有使用其他方法)。

using System.Collections.Generic;
using Microsoft.VisualStudio.TemplateWizard;
using EnvDTE;

namespace VSIXTestProject
{
    public class TestWizard : IWizard
    {
        // This method is only called for item templates,  
        // not for project templates.  
        public void ProjectItemFinishedGenerating(ProjectItem
            projectItem)
        {
            projectItem.Name = "newFileName.json";

            //projectItem.<anything else> gives the error of:
            //projectItem dies not contain a definition for '<anything else>'...
        }
    }
}

这是我的错。出于某种原因,VSIX 项目未保存到 source.extension.vsixmanifest 设计器中的“资产”选项卡。

将向导添加到“资产”选项卡后,我可以按预期访问其余属性。