이렇게하면 알 수있는 것처럼 곧장 앞으로 나옵니다. 프로젝트 템플릿은 그다지 강력하지는 않습니다. 기본 템플릿이므로 AFAIK 코드를 실제로 실행할 수 없습니다.
그러나 대체 사전에 추가 키를 추가하는 마법사 단계 (IWizard
)를 쉽게 추가 할 수 있습니다. 예를 들어 조작 된 값이있는 $safeprojectnameforjs$
을 추가 할 수 있습니다.
public class ExampleWizard : IWizard
{
public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
{
replacementsDictionary.Add("safeprojectnameforjs",
YourCustomMethodForManipulatingName(replacementsDictionary["safeprojectname"])
}
// there are a few other IWizard methods you'll need to
// implement but don't need to do anything in
}
은 ExampleWizard 와이어에, 당신은 당신의 .vstemplate에
<VSTemplate>
<WizardExtension>
<Assembly>ExampleWizard.ExampleWizard, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=a76e3e75702e3ee4</Assembly>
<FullClassName>ExampleWizard.ExampleWizard</FullClassName>
</WizardExtension>
</VSTemplate>
참고 태그를 추가해야합니다 : 당신은 어셈블리에서 마법사를해야합니다. 가장 쉬운 방법은 새 클래스 라이브러리 프로젝트를 만드는 것입니다. 또한 은에 서명해야합니다. (적어도 여전히 필수 요건 임).
<PackageManifest>
<Assets>
<Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="ExampleWizard.ExampleWizard" Path="|ExampleWizard.ExampleWizard|" AssemblyName="|ExampleWizard.ExampleWizard;AssemblyName|" />
</Assets>
</PackageManifest>
이 당신을 위해 작동하지 않는 경우 알려줘 : 당신이 마법사 어셈블리 어셈블리 종속성으로 최대 유선 가질 수 있도록
마지막으로, 당신은, 당신의 VSIX 매니페스트를 업데이트해야합니다. 저는 전문가가 아니지만 몇 달 전에 비슷한 문제를 풀어야했습니다. 그리고 나는이 코드를 다시 작성했습니다. –
적절한 산책로를 찾으려면 "VS Project Template Wizards" –