代码之家  ›  专栏  ›  技术社区  ›  Broots Waymb

projectItem不包含“Properties”的定义

  •  0
  • Broots Waymb  · 技术社区  · 8 年前

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

    我的向导类(实现IWizard)正在成功调用 ProjectItemFinishedGenerating 调试VSIX时的方法。但是 projectItem 我似乎真的可以访问 Name ,它获取/设置项的文件名。这很有效。但是,我希望能够设置生成操作,但无法访问 项目项目 尽管它们出现在智能感知中。

    我是否遗漏了某种参考资料?当前引用的是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 回复  |  直到 8 年前
        1
  •  0
  •   Broots Waymb    8 年前

    这是我的错。VSIX项目未保存到源中的资产选项卡。扩大无论出于何种原因,vsixmanifest设计器。

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