마법사를 사용하여 Visual Studio (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에서
에서
(automationObject 객체 , Dictionary`2 replacementsDictionary, WizardRunKind runKind는 어디에서 잘못 얻고
) [] customParams 객체? vs 템플릿에 필터를 어떻게 추가합니까?