Я пытаюсь создать фильтр (одну из маленьких папок, которая ничего не делает, кроме отдельных файлов в проекте) в шаблоне проекта визуальной студии (C++) с помощью мастера, поэтому я написав следующий код в методе RunStarted:Добавить фильтр в шаблон visual studio
public void RunStarted(object automationObject,
Dictionary<string, string> replacementsDictionary,
WizardRunKind runKind, object[] customParams)
{
try
{
// Add filters to the project
EnvDTE.DTE dte = (EnvDTE.DTE)automationObject;
Array activeProjects = (Array)dte.ActiveSolutionProjects;
Project activeProj = (Project)activeProjects.GetValue(0);
VCProject prj = (VCProject)activeProj.ProjectItems.Item(0);
VCFilter filter = prj.AddFilter("Header_Files");
filter.AddFile("header.h");
prj.Save();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Это не работает. Ошибка Возвращается:
System.IndexOutOfRangeException: Индекс находился вне границ этого массива.
на System.Array.InternalGetReference (Пустота * elemRef, Int32 звание, Int32 * pIndices)
на System.Array.GetValue (индекс Int32)
в my_wizard.IMyWizard.RunStarted (Object AutomationObject , Dictionary`2 replacementsDictionary, WizardRunKind runKind, Object [] customParams)
Где я получаю неправильно? Как добавить фильтр в шаблон vs?