2015-04-30 2 views
0

Я пытаюсь установить пакет nuget в проект, который я генерирую с помощью VSPackage. До сих пор, я могу создать решение из шаблона проекта:Установить пакет nuget с VSPackage

Solution4 soln = (Solution4)ApplicationObject.Solution; 

string prjPath = "C:\\MyProject"; 
string templatePath = soln.GetProjectTemplate(@"SomeProject\MyTemplate.vstemplate", "CSharp"); 

soln.AddFromTemplate(templatePath, prjPath, "New CSharp Project", false); 

Но теперь мне нужно, чтобы иметь возможность установить пакет NuGet в этом проекте. Пакет находится в сети, например, https://somewhere.mydomain.com/nuget/feed, и имеет ID PackageX.

ответ

1

Вам необходимо выполнить те же действия, что и «NuGet Package Restore», добавив NuGet.exe, NuGet.config и NuGet.targets правильно в решение. Чтобы узнать, как это изменит ситуацию, откройте два пустых решения, в которых один восстанавливает пакеты NuGet, а другой - нет.

Чтобы добавить свой собственный канал, вы можете добавить

<packageSources> 
    <add key="local" value="https://somwhere.mydomain.com/nuget/feed"/> 
    </packageSources> 

к NuGet.config под <configuration> узла.

Наконец, добавьте имя и версию пакета в пакет.config в каталоге vcproj, и все должно быть установлено!