2017-10-16 5 views
0

NuGet 및 Visual Studio 문서를 크롤링했지만 제 질문에 대한 정확한 답변을 찾지 못했습니다. 또한 NuGet 사용에 익숙하지 않습니다.NuGet 패키지 참조 및 버전

내가 좋아 아래 packages.config있는 경우 :

<packages> 
    <package id="xxx.SomePackage" version="1.0.1" targetFramework="net452" /> 
</packages> 

그리고 프로젝트에 대한 내 .csproj에서 유사한 참조 :

<Reference Include="xxx.SomePackage, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>..\packages\xxx.SomePackage.1.0.1\lib\net45\xxx.dll</HintPath> 
    <Private>True</Private> 
</Reference> 

은 가정하자 나는 내가 원하는 최신 버전을 프로젝트, 즉 1.0.2를 사용하려면 각 csproj/packages.config 참조가 해당 버전을 가리 키도록 수동으로 변경해야합니까? 아니면 NuGet이 최신 버전을 가져 와서 프로젝트에 적용 할만큼 똑똑합니까? 나는 많은 프로젝트를 가지고 있으므로 각각 하나씩 변경하는 것이 고통입니다.

참고 : SpecificVersion : False 사용에 관해 읽었습니다. 그게 내가 사용할 수있는 것인가? 참고 : "Update-Package -reinstall"에 대해서도 읽었습니다. 이것이 나의 것과 같은 시나리오에 대해 가장 좋고 선호되는 방법입니까?

+0

수동으로 패키지를 최신 버전으로 업그레이드해야합니다. VS에는 NuGet Package Manager가있어 솔루션의 모든 패키지를 업그레이드 할 수 있습니다. –

+0

@Adi,이 호에 대한 모든 업데이트가 있습니까? 문제를 해결 했습니까? 그렇지 않은 경우이 문제에 대한 최신 정보를 알려주십시오. –

+0

@ Leo-MSFT 정보를 제공해 주셔서 감사합니다. 도움이 될 것입니다. 조만간 콘솔 업데이트를 시도 할 예정입니다. ^^ – Adi

답변

1

각각의 csproj/packages.config 참조가 해당 버전을 가리 키도록 수동으로 변경해야합니까? 아니면 내 프로젝트에만 최신 버전을 적용하고 적용 할만큼 충분히 똑똑한 NuGet입니까? 나는 많은 프로젝트를 가지고 있으므로 각각을 바꾸는 것이 고통이다. '

아니요, 각 csproj/packages.config 참조가 해당 버전을 가리 키도록 수동으로 변경할 필요가 없습니다. NuGet은 최신 버전을 프로젝트에 적용 할 수있을 정도로 똑똑합니다.

특정 프로젝트를 지정하지 않고 패키지 관리자 콘솔에서 Update-Package -Id <package_name> -Version 1.0.2 명령 줄을 사용할 수 있습니다. Update-Package은 솔루션의 모든 프로젝트에 영향을줍니다. 자세한 내용은 update-package을 참조하십시오.

또는 솔루션 용 관리자 NuGet 패키지를 통해 모든 프로젝트를 업데이트 할 수도 있습니다.

enter image description here

게다가 : 오른쪽 솔루션 (안 프로젝트)을 클릭하면 업그레이드해야 할 패키지를 선택, 업데이트 탭으로 전환, 솔루션에 대한 관리자 NuGet 패키지를 선택하고 패키지를 업데이트 할 프로젝트를 선택 , Update-Package -reinstall을 사용하여 패키지를 다시 설치하는 경우이 명령을 사용하면 패키지를 제거한 다음 NuGet 갤러리에서 동일한 패키지를 같은 버전으로 찾는 것보다 훨씬 쉽습니다. 따라서이 명령은 패키지 버전을 업데이트하지 않습니다.

희망이 도움이됩니다.