This is a bit beyond the scope of pure Visual Studio templates.
Visual Studio templates support replacement options for templates, so you can do the following:
ProjectA.zip ProjectA.csproj,ProjectA.csproj <ItemGroup> <Reference><Reference Include="ProjectB">
ProjectB- , ProjectB , $Foo$.
: $Foo$? ?
- , ProjectB, .
, :
- VSIX.
[ProvideBindingPath] . ( GAC, VS )- ,
Microsoft.VisualStudio.TemplateWizard.IWizard - ProjectTemplate vsixmanifest
.vstemplate <TemplateContent>:
<WizardExtension>
<Assembly>Your.Packages.Assembly</Assembly>
<FullClassName>Your.Wizard</FullClassName>
</WizardExtension>
. RunStarted , , automationObject ( EnvDTE.DTE), ProjectB replacementsDictionary.