Установить пакет NuGet программно - PullRequest
2 голосов
/ 06 мая 2011

Я пытаюсь установить простой пакет nuget программно.Я создал пакет с файлом Site.css.Таким образом, он находится в папке содержимого пакета.

Используя этот код

public void TestInstall(string packageID, string physicalPath)
{
   var rep = PackageRepositoryFactory.Default.CreateRepository(new PackageSource("http://nuget.testserver.lan/nuget", "Default"));

   var packagemgr = new PackageManager(
                rep,
                new DefaultPackagePathResolver("http://nuget.testserver.lan/nuget"),
                    new PhysicalFileSystem(physicalPath)
                    );

   var package = rep.FindPackagesById(packageID).First();

   packagemgr.InstallPackage(package, false);
}

Допустим, я предоставляю packageID = 'Testpackage' и PhysicalPath = 'c: \ inetpub \ test' itсоздает:

c: \ Inetpub \ test \ Testpackage

, и эта папка содержит:

папка содержимого с Site.css И Testpackage.0.1.nupkg

Не совсем то, что я пытаюсь сделать, но вроде:)

Можно ли изменить это так:

  • Я могу указать, где это должноПоместить пакет для его кэш-функции

  • Сделать так, чтобы все элементы, находящиеся в папке содержимого, находились по указанному пути?

  • Если пакет содержитDLL-файлы в папке lib позволяют им перейти в каталог bin (создать, если не существует)

1 Ответ

2 голосов
/ 09 мая 2011

Многие функциональные возможности NuGet в настоящее время зависят от автоматизации Visual Studio, поэтому вне VS трудно получить все то же поведение.

Многие люди спрашивали о функциональности, которая потребовала бы изменений от использованияАвтоматизация VS, поэтому я подозреваю, что это вероятно в планах, так как это значительная работа, я не думаю, что это будет скоро.

Не забудьте, что вы можете устанавливать пакеты в консоли Visual Package Manager, так что этотолько одна команда (Install-Package MarkdownHelper) и не требует нажатия в пользовательском интерфейсе.

...