projectItem不包含'属性'的定义。

时间:2018-02-08 16:38:25

标签: c# vsix

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

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

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

下面是向导类(我只包含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>'...
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这是我的错。无论出于何种原因,VSIX项目都没有保存到source.extension.vsixmanifest设计器的Assets选项卡中。

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