【问题标题】:projectItem does not contain a definition for 'Properties'projectItem 不包含“属性”的定义
【发布时间】:2018-02-08 16:38:25
【问题描述】:

我目前正在使用 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>'...
        }
    }
}

【问题讨论】:

    标签: c# vsix


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 2019-07-26
      相关资源
      最近更新 更多