Install-Package myPackage
을 C# 코드에서 호출하는 방법을 찾고 있습니다.C# 코드에서 NuGet 명령을 실행하십시오.
저는 C#에서 powershell을 사용하려고했지만 매우 익숙하지 않았습니다.
아무도 나에게 그렇게 할 수있는 예를 줄 수 있습니까?
Install-Package myPackage
을 C# 코드에서 호출하는 방법을 찾고 있습니다.C# 코드에서 NuGet 명령을 실행하십시오.
저는 C#에서 powershell을 사용하려고했지만 매우 익숙하지 않았습니다.
아무도 나에게 그렇게 할 수있는 예를 줄 수 있습니까?
당신은 파워 쉘 명령을
네임 스페이스 실행하기 위해 이런 일을 시도 할 수 : system.management에 ( System.Management.Automation : System.Management.Automation
조립을 .automation.dll)
private static void RunPowershell(string command)
{
var powerShell = PowerShell.Create();
powerShell.AddCommand(command);
powerShell.Invoke();
}
PowerShell 세션에서 NuGet 모듈을 추가해야합니다. NuGet을 설치 한 후, 당신은 Get-모듈을 실행하고 PSM1 파일의 경로는이 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
, 당신은 할 수 있어야 여기에 사용할 수
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}
공지 사항이 무엇인지 볼 수 있습니다 NuGet 명령을 실행하십시오.
정말 비슷한 것을해야합니다. PSM1 파일을 가져 오는 방법을 확장하여 NuGet 명령을 실행할 수 있습니다. 필자의 시나리오는 생성 된 파일을 제어하기 위해 UI의 사용자 선택에서 가져온 params로드를 전달하는 스캐 폴딩 패키지를 실행하는 winforms 앱을 만들고 싶습니다. –
NuGet 포럼에서 PowerShell 관련 자료를 직접 호출하지 않고 코드에서 바로 그러한 작업을 수행 할 수있게 해주는 API가있는 NuGet 1.2에 대한 답을 받았습니다. 나는 거기까지 기다려서 파워 쉘 방법을 버릴거야. http://nuget.codeplex.com/discussions/246688 –
작업 예제를 보려면 여기를 참고하십시오. http://haacked.com/archive/2011/01/15/building-a-self-updating -site-using-nuget.aspx – ferventcoder
감사합니다. 그러나 이미이 작업을 수행하는 방법을 알아 냈습니다. NuGet은 필자가 필요로하는 PowerShell 확장 기능을 제공합니다. Visual Studio에서 패키지 관리자를 사용하여 명령을 실행할 수 있지만 코드에서 NuGet 명령을 호출하는 방법을 파악할 수 없습니다. –