Должен ли NuGet.VisualStudio.Interop.dll находиться в GAC, чтобы использовать его в качестве мастера? - PullRequest
2 голосов
/ 19 марта 2012

Я создаю шаблон проекта. Я хотел бы, чтобы он автоматически устанавливал единство и призму через 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>
        <package id="CommonServiceLocator" version="1.0" />
        <package id="Prism" version="4.1.0.0" />
        <package id="Prism.UnityExtensions" version="4.1.0.0" />
        <package id="Unity" version="2.1.505.0" />
    </packages>
  </WizardData>

Вроде все правильно, но не работает. Когда я пытаюсь использовать свой шаблон, я получаю это сообщение об ошибке:

Не удалось добавить все необходимые пакеты в проект. Не удалось установить следующие пакеты из «C: \ Users \ MyUser \ AppData \ Roaming \ Microsoft \ VisualStudio \ 10.0 \ ProjectTemplatesCache \ MyTemplate.zip '

Я немного посмотрел, и для работы мастера его нужно установить в GAC. Я выполнил эту команду:

gacutil.exe / l NuGet.VisualStudio.Interop

И вернулось:

Глобальный кэш сборок содержит следующие сборки:

Количество предметов = 0

Так что, похоже, его нет в GAC. Вопрос: Как это работает для всех остальных? Если оно должно быть в GAC, то почему его там нет автоматически?

Если нет, то почему это не работает (хотя я вполне уверен, что это должно быть в GAC).

Примечание: я нашел здесь dll:

C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Extensions \ Microsoft Corporation \ Диспетчер пакетов NuGet \ 1.6.21215.9133

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Я обнаружил, что пропустил эту важную часть документов:

В шаблоне необходимо указать, где искать файлы пакета nupkg.В настоящее время поддерживаются два репозитория пакетов:

Пакеты, встроенные в пакет VSIX.
Пакеты, встроенные в сам шаблон проекта / элемента.

Таким образом, нет способа получить пакеты из реального репозитория NuGet.

0 голосов
/ 26 октября 2014

Ответ на этот вопрос:

Откройте Visual Studio> Инструменты> Расширения и обновления> выберите Онлайн-ссылку, а затем в правой части панели поиска введите NuGet Package Manager.Затем загрузите и установите.Решает вашу проблему

...