Nuget и Vsix репо
Я экспортировал шаблон проекта с помощью инструмента экспорта в 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>
RepositoryId - это идентификатор проекта 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 Package Manager, он говорит, что пакет установлен, но не может найти источник.
Я пробовал это во многих отношениях, и я не могу заставить это работать автоматически. Если я вручную создаю исходный код пакета в диспетчере пакетов nuget для c:\packagelocation, то все в порядке.
Что мне здесь не хватает? Это не поддерживается? Я пишу код в vsix, чтобы создать исходный код пакета в менеджере пакетов nuget?
1 ответ
Я столкнулся с той же проблемой - шаг 11, выделенный в этом ответе, помог решить проблему. В основном этот шаг гарантирует, что копия файла nupkg создается в <template install path>/Packages/