2013-11-01 2 views
1

Visual Studio (또는 빌드 서버)가 설치되어 있지 않은 원격 서버에서 프로젝트에 NuGet 패키지를 추가하는 작업을 자동화하려고합니다. Cu # 코드에서 NuGet.exe를 사용하는 방법을 알고 있지만이 실행 파일은 패키지 만 다운로드하고 다른 필수 작업은 수행하지 않습니다 (참조 추가, ps 스크립트 실행 등). 패키지를 완전히 설치하려면 어떻게해야합니까?Visual Studio가없는 프로젝트에 NuGet 패키지 추가

참고 : 내 앱용 패키지를 업데이트 할 필요가 없으므로 서버의 임의의 .csproj 파일에 패키지를 추가해야합니다. 필자는 웹 기반 .Net IDE를 구축 중이며 사용자가 프로젝트에 패키지를 추가 할 수 있어야합니다.

두 가지 가능성이 있습니다. 하나는 NuGet.exe에는 없지만 다른 라이브러리 (어쩌면 VS 추가 기능)에 있지만, 어디에서 찾을 지 모릅니다. 다른 하나는 어떤 종류의 NuGet Powershell 콘솔을 시뮬 레이팅하고 명령을 보내는 것입니다.하지만 다시 그 방법을 모릅니다.

+0

_ 내 사용자가 자신의 프로젝트에 패키지를 추가 할 수 있어야합니다 _ 그게 무슨 뜻입니까? –

+0

사용자는 Visual Studio에서와 같이 온라인 프로젝트를 만들고 Nuget 패키지를 추가 할 수 있어야합니다. – ulu

답변

0

NuGet.Core 라이브러리의 ProjectManager 클래스를 사용하여 작업을 마쳤습니다. 관심있는 사람이 있으면 솔루션을 게시하겠습니다.

+0

하시기 바랍니다 그것을 게시하시기 바랍니다 –

+0

http://ivonna.biz/blog/2014/9/21/installing-a-nuget-package-programmatically.aspx에서 확인해보십시오. – ulu

1

SharpDevelop을 고려해 볼 수 있습니다.

Installing NuGet Packages outside of Visual Studio 당신이 (마 구청, 프로젝트 기여자 중 하나에 의해 작성) 달성하려고하는 기능에 대한 기사는 말한다 : NuGet이 PowerShell을 사용하기 때문에

가장 간단한 방법은 기존 PowerShell cmdlet을 확장했다 SharpDevelop에 포함되어 있습니다. 이제 몇 줄의 PowerShell 스크립트를 작성하여 에 NuGet 패키지를 설치 한 적이없는 프로젝트를 작성한 후 프로젝트 자체를 업데이트하고 PowerShell 패키지를 실행할 수 있습니다. 이 모든 것은 에서 Visual Studio가없는 명령 줄을 엽니 다.

+0

이 답변은 btw라고 생각합니다. – websch01ar

+0

이것은 내가 찾고있는 것이어야합니다. 유일한 문제는 Cmdlets 패키지를로드 할 수 없다는 것입니다. PowerShell은 FileLoadException을 계속 throw합니다. 그럼에도 불구하고 .Net 코드에서 직접 호출 할 수만 있다면 PS 명령을 실행하는 것보다 훨씬 낫습니다. 그럼 .Net에서 어떻게 불러 옵니까? – ulu

0

SharpDevelop에 대한 Alex의 게시물에 추가 답변을 추가하기 만하면 몇 가지 옵션이 있습니다.

  • 사용 Nuget.exe (Related Blog post)
  • MonoDevelop 및 자 마린 스튜디오 NuGet 추가 기능은 (GitHub 참조) WebMatrix를 사용
  • ASP.NET 페이지를이 모든

(이 video 참조) 정보는 Nuget FAQ입니다.

+0

Nuget.exe는 처음 시작한 패키지이지만 패키지를 다운로드하고 프로젝트 파일을 수정하거나 다른 필요한 작업을 수행하지 않습니다. 다양한 추가 기능에 대해서는 IDE가 설치되지 않은 서버에서 호스팅되는 프로젝트에 필요하다는 점을 기억하십시오. – ulu

+0

제안 된대로 NuGet.exe를 사용하여 코드를 작성했습니다. http://ivonna.biz/blog/2014/9/21/installing-a-nuget-package-programmatically를 참조하십시오.aspx – ulu

관련 문제