Я следовал этот пост о том, как построить VSIX проект, который будет добавить некоторые пользовательские типы проектов MVC:VSIX с шаблонами проектов и NuGet пакеты
http://www.asp.net/mvc/tutorials/mvc-4/custom-mvc-templates
Я также хочу, чтобы включить некоторые дополнительные пакеты NuGet , поэтому я следил за this page from Nuget, но, похоже, для VS2010, и я работаю в 2012 году.
У меня есть проектное здание, и все работает персико на моей машине. Установка работает, появляется новый тип проекта, и когда я создаю новый проект такого типа, все работает отлично.
Однако, когда я отправляю установщика сотруднику, все ломается. Установщик работает, они видят новый тип проекта, но при создании проекта он получает сообщения об ошибках о невозможности установки каких-либо пакетов в узле расширения. Я подтвердил, что идентификатор продукта расширения является правильным (я намеренно исказил его в файле .vstemplate во время тестирования, и он дал совершенно другую ошибку). Я добавил пакеты в манифест расширения, но, похоже, это не имеет значения. Я также подтвердил, что файлы .nupkg развернуты в% ProgramFiles (x86)% \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions.
Любые предложения о том, что делать? .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="registry" keyName="AspNetMvc4VS11" isPreunzipped="true">
<package id="EntityFramework" version="5.0.0" skipAssemblyReferences="true" />
<package id="jQuery" version="1.8.2" />
<!-- snip -->
</packages>
<packages repository="extension" repositoryId="SampleExtensionId">
<package id="Unity" version="3.0.1304.0" targetFramework="net45" />
<package id="Unity.WebAPI" version="0.10" targetFramework="net45" />
<!-- snip -->
</packages>
</WizardData>
source.extension.vsixmanifest теги активов
<Assets>
<Asset d:VsixSubPath="ProjectTemplates\CustomMVCTemplate" etc/>
<Asset Type="Unity.3.0.1304.0" Path="Packages\Unity.3.0.1304.0.nupkg" />
<Asset Type="Unity.WebAPI.0.10" Path="Packages\Unity.WebAPI.0.10.nupkg" />
<!-- snip -->
</Assets>
Структура файла
- проекта Расширение
- Пакеты
- NugetPackage 1
- NugetPackage 2
- и т.д.
- ProjectTemplates
- CustomMVCTemplate
- < файлы пользовательского проекта >
- CustomMVCTemplate
- source.extension.vsixmanifest
- Пакеты
Отлично находкой. Я добавил ключевой пункт прямо в ваш ответ. – Olly