NuGet 패키지 .nupkg 파일을 로컬로 어떻게 설치합니까?


답변:


463

메뉴 도구 → 옵션 → 패키지 관리자

여기에 이미지 설명을 입력하십시오

이름과 폴더 위치를 지정하십시오. 확인을 클릭하십시오. NuGet 패키지 파일을 해당 폴더에 놓습니다.

프로젝트로 이동하여 마우스 오른쪽 버튼을 클릭하고 "Manage NuGet Packages" 를 선택한 다음 새 패키지 소스를 선택하십시오.

여기에 이미지 설명을 입력하십시오

여기 문서가 있습니다.


22
사실, 나는 1 단계를 몇 번 했어요. 그러나 설치된 패키지, 업데이트 또는 최근 패키지를 열 때 2 단계에서 패키지가 표시되지 않습니다.
— Tom

2
내 화면에는 "NuGet offical package source"가 아닌 "Installed packages"아래에 "All"만 있고 사용자 정의 "newNuget"는 없습니다.
— Tom

1
vs2010을 사용하고 있습니다. 지금 홈페이지에서 최신 너겟을 다운로드하여 설치하려고합니다. 다음을 클릭하십시오. 다음을 클릭하십시오. 그런 다음 오류 ... M $가 예상대로 알려진 문제의 링크가 있으며 서명 불일치가 있음을 확인한 다음 기존 덩어리를 제거해야하며 쉽게 해결할 수 있습니다. 알았어 컴퓨터를 다시 시작하고 다시 설치하면 동일한 오류가 발생하고 서명이 일치하지 않습니다. 이제 이전 버전이 사라져 새 버전을 설치하고 싶지 않습니다.
— Tom

2
문제가 해결되었습니다. Windows-> 제어판에서 nuget을 제거했습니다. 그런 식으로 작동하지 않았습니다. VS를 시작하고 도구-> 확장 관리자로 이동 한 다음 거기에서 uninstall nuget을 누르십시오. VS를 다시 시작했습니다. 그런 다음 nuget을 다시 설치하면 효과가 있습니다. 이제 로컬 nupkg 파일도 표시됩니다 (편집 : 설치 탭이 아닌 온라인 탭에 있습니다. 게시 한 그림에서 실수했습니다). 도움을 주셔서 감사합니다 :)
— Tom

1
아직 평판이 충분하지 않지만 VS2015에 대한 답변 답변에서 Michael에게 대답하기 위해 여전히 온라인에 가고 싶습니다. 나는 같은 문제가 있었지만 옵션에서 모든 온라인 소스를 선택 해제하면 오프라인 소스에서 작동합니다. 너겟 옵션 사진
— Mick m

302

패키지 관리자 콘솔을 사용 Install-Package하여 -Source매개 변수에 패키지 파일이 포함 된 디렉터리의 경로를 지정하여 cmdlet을 호출 할 수도 있습니다 .

Install-Package SomePackage -Source C:\PathToThePackageDir\

2
커맨드 라인 도구로도 그런 일을 할 수 있습니까?
— Poul K. Sørensen 2013 년

5
예. 이 -Source옵션은 nuget.exe 에서도 사용할 수 있습니다. 예 :nuget install SomePackage -Source C:\PathToThePackageDir
— Enrico Campidoglio

16
-IncludePrerelease 플래그도 지정해야합니다. 그렇지 않으면 패키지 버전에 대시 접미어 (예 : "-beta1")가 있으면 Install-Package에서 찾을 수 없습니다.
— Jeff Sharp

9
이것은 허용되는 것보다 훨씬 직접적인 답변입니다. 정보에 대해서 감사드립니다!
— David Peters

2
VS 2017에서는 작동하지 않습니다 (f.ex 참조). @Granger의 답변.
— RenniePet

124

.nupkg 파일의 경우 다음을 사용하고 싶습니다.

Install-Package C:\Path\To\Some\File.nupkg

7
효과가있는 것만 디렉토리 경로에 공백이 있으면 큰 따옴표로 묶으십시오.
— Nikos

4
동의하다. 그리고 절대 경로 만 작동한다고 언급 할 가치가 있습니다
— Sebastian J.

5
VS 2017에서는 작동하지 않습니다 (f.ex 참조). @Granger의 답변.
— RenniePet

1
VS2017에서 나를 위해 일한 @RenniePet (그러나 .nupkg다른 패키지가 모두 저장된 동일한 디렉토리에 이미 저장했습니다)
— Rafalon

1
그것은 나를 위해 작동하지 않습니다, 나는 VS2013 버전 12.0.21..5 및 Nuget 패키지 관리자 2.12.0.817을 사용하고 있습니다 :(
— Niraj Trivedi

56

Visual Studio 2017 및 새로운 .csproj 형식

더 이상 Install-Package를 사용하여 로컬 파일을 가리킬 수 없습니다. ( PackageReference요소가 파일 경로를 지원하지 않기 때문에 패키지의 ID 만 지정할 수 있기 때문일 수 있습니다.)

먼저 Visual Studio에 패키지 위치를 알려주고 프로젝트에 추가 할 수 있습니다. 대부분의 사람들은 NuGet 패키지 관리자로 이동하여 로컬 폴더를 소스로 추가합니다 (메뉴 도구 → 옵션 → NuGet 패키지 관리자 → 패키지 소스 ). 그러나 그것은 의존성 위치가 나머지 코드베이스와 커밋되지 않음을 의미합니다.

상대 경로를 사용하는 로컬 NuGet 패키지

특정 솔루션에만 적용되는 패키지 소스가 추가되며 상대 경로를 사용할 수 있습니다.

nuget.config파일과 동일한 디렉토리에 파일 을 작성 해야 .sln합니다. 원하는 패키지 소스로 파일을 구성하십시오. 다음에 Visual Studio 2017에서 솔루션을 열면 해당 소스 폴더의 .nupkg 파일을 사용할 수 있습니다. 패키지 관리자에 소스가 표시되며 프로젝트의 패키지를 관리 할 때 "찾아보기"탭에서 패키지를 찾을 수 있습니다.

nuget.config시작 하는 예는 다음과 같습니다 .

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="MyLocalSharedSource" value="..\..\..\some\folder" />
    </packageSources>
</configuration>

뒷이야기

이 기능의 사용 사례는 컴퓨터에 단일 코드 리포지토리의 여러 인스턴스가 있다는 것입니다. 코드베이스 내에 .nupkg 파일로 게시 / 배포 된 공유 라이브러리가 있습니다. 이 접근 방식을 사용하면 코드베이스 전체의 다양한 종속 솔루션이 동일한 리포지토리 인스턴스 내에서 패키지를 사용할 수 있습니다. 또한 Visual Studio 2017을 새로 설치 한 사용자는 원하는 곳에서 코드를 체크 아웃하면 종속 솔루션이 성공적으로 복원 및 빌드됩니다.


VS 2017을 사용하고 있으며이 문제가 발생하지 않았습니다. 방금 -Source인수를 전달 Update-Package했으며 정상적으로 작동했습니다. 어쩌면 Install-Package명령 과 관련이 있습니까?
— Greg Burghardt 2016 년

48
  1. 솔루션 옆에 LocalPackages라는 폴더에 파일을 추가하십시오 (이를 호출 할 필요는 없지만 그에 따라 다음 단계에서 xml을 조정하십시오)
  2. 솔루션 파일 옆에 NuGet.config라는 파일을 다음 내용으로 만듭니다.

    <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <add key="LocalPackages" value="./LocalPackages" />
        </packageSources>
        <activePackageSource>
          <!-- this tells that all of them are active -->
          <add key="All" value="(Aggregate source)" />
        </activePackageSource>
     </configuration>
  3. 솔루션이 Visual Studio에서 열려 있으면 닫았다가 다시여십시오.

이제 패키지가 브라우저에 나타나거나 Install-Package를 사용하여 설치 가능해야합니다.


환상적인 답변, 내가 찾던 솔루션. 감사!
— Jonathan

1
Nuget 리포지토리에있는 것과 이름이 같은 패키지가 있기 때문일 수 있지만 Install-Package를 실행하기 전에 패키지 관리자 콘솔을 사용하고 패키지 소스를 LocalPackages로 선택해야했습니다.
— 누가

42

.nupkg 파일이 있고 .dll 파일 만 있으면 확장명을 .zip으로 변경하고 lib 디렉토리를 찾으면됩니다.


3
파일을 zip 파일로 취급하면 파일 이름에 공백이있는 파일은 %로 추출됩니다 (공백 대체). NuGet을 사용하여이 설치를 피하려면
— Rahatur

2
실제로는 확장명을 바꿀 필요조차 없습니다. 파일을 마우스 오른쪽 단추로 클릭 한 다음 연결 프로그램을 선택하고 .zip 파일을 열 수있는 응용 프로그램을 찾으면 .nupkg 파일을 열면 필요한 dll 파일을 지정된 폴더로 추출 할 수 있습니다.
— jyao

1
내가 필요한 최고의 솔루션
— Leo Nguyen

8

업데이트를하기 위해 Visual Studio 2015 사용자에게는 약간의 변경 사항이 있습니다.

패키지를 수동으로 사용하거나 설치하려면 도구 -> 옵션 -> NuGet 패키지 관리자 -> 패키지 소스로 이동하십시오.

추가 버튼을 클릭하고 소스를 선택한 다음 " 업데이트 " 를 클릭 하여 패키지의 폴더 위치를 업데이트하고 원하는 경우 원하는 패키지 소스 이름을 편집하십시오.

여기에 이미지 설명을 입력하십시오

바로 솔루션을 클릭하고, 귀하의 추가 패키지를 선택하려면 " Nuget 패키지 관리 "

드롭 다운 목록은 오른쪽에 있으며 찾아보기를 선택하여 폴더 소스에서 지정한 패키지를 찾아보십시오. 해당 폴더 소스에 너겟 패키지가 없으면 비어 있습니다.

여기에 이미지 설명을 입력하십시오


6

Linux에서 NuGet CLI를 사용하면 명령이 비슷합니다. my.nupkg을 설치하려면 다음을 실행하십시오.

nuget add -Source some/directory my.nupkg

그런 다음 dotnet restore해당 디렉토리에서 실행하십시오.

dotnet restore --source some/directory Project.sln

또는 해당 디렉토리를 NuGet 소스로 추가하십시오.

nuget sources Add -Name MySource -Source some/directory

다음 이야기 msbuild와 함께 그 디렉토리를 사용 /p:RestoreAdditionalSources=MySource하거나 /p:RestoreSources=MySource. 두 번째 스위치는 다른 모든 소스를 비활성화하므로 오프라인 시나리오에 적합합니다.


1
Mac에서는 (Linux도 가정하고 있음 ) 이 버그로 인해 (또는 VS Mac ) nuget sources사용 하고 있다면 의지 할 수 없습니다 . 로컬 소스를 수동으로 추가 해야했습니다 (이 GH 문제 참조 ). dotnet restore~/.nuget/NuGet/NuGet.Config
— 개브
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.