Я экспортировал проект шаблона, используя инструмент экспорта в VS2015. Я создал пакет nuget, на который опирается этот проект. В файле vstemplate я добавил:
<WizardExtension>
<Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
<FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
</WizardExtension>
<WizardData>
<packages repository="extension" repositoryId="ViSoftVSIXPackage.Visoft.87c53ff4-9d1f-xxxxxxxxxxxxxx">
<package id="ViSoftCore" version="1.0.0" />
</packages>
</WizardData>
Репозиторий — это идентификатор проекта VSIX. В проекте VSIX я добавил активы:
<Assets>
<Asset Type="ViSoftCore.1.0.0.nupkg" d:Source="File" Path="Packages\ViSoftCore.1.0.0.nupkg" d:VsixSubPath="Packages" />
<Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="File" Path="ProjectTemplates" d:TargetPath="ProjectTemplates\HMIViSoft.zip" />
</Assets>
Теперь, когда я устанавливаю vsix, создаю новый проект, я получаю следующее: Не удалось восстановить пакет NuGet для проекта HMI.ViSoft4: невозможно найти версию «1.0.0» пакета «ViSoftCore. Когда я захожу в диспетчер пакетов Nuget, он говорит, что пакет установлен, но не может найти источник.
Я пробовал это разными способами, и я не могу заставить это работать автоматически. Если я вручную создам источник пакета в диспетчере пакетов nuget для c:\packagelocation, все будет хорошо.
Что мне здесь не хватает? Это не поддерживается? Нужно ли писать код в vsix для создания источника пакета в диспетчере пакетов nuget?