Выполнить команду NuGet из кода C # - PullRequest
4 голосов
/ 19 февраля 2011

Я пытаюсь найти способ вызвать Install-Package myPackage прямо из кода C #.

Я пытался сделать это с помощью powershell в c #, но я не очень знаком с ним.

Кто-нибудь может дать пример того, как это сделать?

Ответы [ 2 ]

1 голос
/ 19 февраля 2011

Вы можете попробовать что-то вроде этого, чтобы выполнить команду powershell

Пространство имен : System.Management.Automation

Монтаж : System.Management.Automation (в system.management.automation.dll)

    private static void RunPowershell(string command)
    {

        var powerShell = PowerShell.Create();
        powerShell.AddCommand(command);
        powerShell.Invoke();

    }
0 голосов
/ 21 февраля 2011

Вам необходимо добавить модуль NuGet в сеанс PowerShell.После установки NuGet вы можете запустить Get-Module и посмотреть, что доступно

PM> get-module | fl *


ExportedCommands    : {Get-Package, Update-Package, Register-TabExpansion, Get-Project...}
Name                : NuGet
Path                : C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.1.229.160\Scripts\nuget.psm1
Description         : NuGet PowerShell module used for the Package Manager Console
Guid                : 76e6f9c4-7045-44c0-a557-17fab0835c12
ModuleBase          : C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.1.229.160
PrivateData         : 
Version             : 1.1.229.160
ModuleType          : Script
AccessMode          : ReadWrite
ExportedFunctions   : {[NugetTabExpansion, NugetTabExpansion], [Register-TabExpansion, Register-TabExpansion]}
ExportedCmdlets     : {[Add-BindingRedirect, Add-BindingRedirect], [Get-Package, Get-Package], [Get-Project, Get-Project], [Install-Package, Install-Package]...}
NestedModules       : {NuGet.Cmdlets}
RequiredModules     : {}
ExportedVariables   : {}
ExportedAliases     : {}
SessionState        : System.Management.Automation.SessionState
OnRemove            : 
ExportedFormatFiles : {C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.1.229.160\Scripts\NuGet.Format.ps1xml}
ExportedTypeFiles   : {C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.1.229.160\Scripts\NuGet.Types.ps1xml}

Обратите внимание, что путь к файлу PSM1 находится здесь

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.1.229.160\Scripts\nuget.psm1

, если вы импортируете этот файл PSM1, выдолжен иметь возможность выполнять ваши команды NuGet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...