[visual-studio] 솔루션에서 사용하지 않는 NuGet 패키지를 어떻게 찾을 수 있습니까?

솔루션에서 사용하지 않는 NuGet 패키지를 어떻게 찾을 수 있습니까?

설치된 패키지가 많이있는 많은 솔루션이 있으며 많은 수의 업데이트가있는 것으로 표시됩니다.

그러나 변경 사항이 중단 될 수 있으므로 먼저 사용하지 않는 패키지를 제거하여 정리하고 싶습니다.



답변

ReSharper 2016.1에는 사용하지 않는 NuGet을 제거하는 기능이 있습니다.

솔루션 및 솔루션의 각 프로젝트에서 실행될 수 있으며 다음과 같은 작업을 수행합니다.

  1. 코드를 분석하고 어셈블리에 대한 참조를 수집하십시오.
  2. 어셈블리 사용법을 기반으로 NuGet 사용법 그래프를 작성하십시오.
  3. 컨텐츠 파일이없고 사용되지 않고 의존성이없는 패키지는 사용되지 않은 것으로 가정하여 제거 할 것을 제안합니다.

불행히도 이것은 project.json프로젝트 ( RSRP-454515 ) 및 ASP.NET 핵심 프로젝트 ( RSRP-459076 )에서 작동하지 않습니다


답변

Visual Studio Extension ResolveUR-사용하지 않은 참조 확인을 사용할 수 있습니다.

솔루션 및 프로젝트 노드의 솔루션 탐색기 도구 창에서 메뉴 항목을 통해 Visual Studio 2012/2013 프로젝트의 너겟 참조를 포함하여 사용하지 않는 참조를 해결하십시오.

쉬운 작업이 아니기 때문에 문제가 발생한 경우 롤백하기 전에 백업 및 / 또는 커밋을 제안하는 것이 좋습니다.


답변

Resharper 2019.1.1을 사용하여이 작업을 수행 할 수 있습니다.

프로젝트> 리 팩터> 사용되지 않은 참조 제거를 마우스 오른쪽 단추로 클릭하십시오.

프로젝트가 작 으면 프로젝트> 사용 된 참조 최적화를 프로젝트 할 수도 있습니다. . .

창이 나타납니다. 모든 참조를 선택하고 모두 제거하십시오. 그런 다음 돌아가서 컴파일러 오류를 발생시키는 것을 다시 추가하십시오.


답변

이것은 육체 노동이지만 작동합니다.

  1. ReSharper 또는 유사한 코드 분석 도구를 사용하여 프로젝트에서 사용되지 않은 참조를 식별하고 해당 프로젝트에서 너겟을 제거하십시오.

  2. 때때로 제거 된 nuget은 NuGet 패키지 관리 대화 상자 의 설치된 패키지업데이트 목록에 남아 있습니다. Visual Studio를 packages닫은 다음 폴더 를 삭제 한 다음 솔루션을 다시 열고 너겟을 복원하십시오.


답변

나는 이것을 알아내는 기본 방법이 없다고 생각합니다. 주된 이유는 어셈블리 참조부터 프로젝트에 소스 코드 삽입에 이르기까지 이러한 패키지가 수행 할 수있는 다양한 작업 때문입니다. Nuget 을 확인하고 싶을 수도 있습니다. . codeplex의 다음 스레드는 너겟 패키지의 감사 보고서에 대해 설명합니다.

http://nuget.codeplex.com/discussions/429694

(NuGet은 Codeplex에서 GitHub로 이동되었습니다. 위 링크의 아카이브 🙂
https://web.archive.org/web/20171212202557/http://nuget.codeplex.com:80/discussions/429694


답변