我目前正在使用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>'...
}
}
}
答案 0 :(得分:0)
这是我的错。无论出于何种原因,VSIX项目都没有保存到source.extension.vsixmanifest设计器的Assets选项卡中。
将向导添加到“资源”选项卡后,我可以按预期访问其余属性。