【发布时间】: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>'...
}
}
}
【问题讨论】: