솔루션에서 사용하지 않는 NuGet 패키지를 어떻게 찾을 수 있습니까?
설치된 패키지가 많이있는 많은 솔루션이 있으며 많은 수의 업데이트가있는 것으로 표시됩니다.
그러나 변경 사항이 중단 될 수 있으므로 먼저 사용하지 않는 패키지를 제거하여 정리하고 싶습니다.
답변
ReSharper 2016.1에는 사용하지 않는 NuGet을 제거하는 기능이 있습니다.
솔루션 및 솔루션의 각 프로젝트에서 실행될 수 있으며 다음과 같은 작업을 수행합니다.
- 코드를 분석하고 어셈블리에 대한 참조를 수집하십시오.
- 어셈블리 사용법을 기반으로 NuGet 사용법 그래프를 작성하십시오.
- 컨텐츠 파일이없고 사용되지 않고 의존성이없는 패키지는 사용되지 않은 것으로 가정하여 제거 할 것을 제안합니다.
불행히도 이것은 project.json
프로젝트 ( RSRP-454515 ) 및 ASP.NET 핵심 프로젝트 ( RSRP-459076 )에서 작동하지 않습니다
답변
Visual Studio Extension ResolveUR-사용하지 않은 참조 확인을 사용할 수 있습니다.
솔루션 및 프로젝트 노드의 솔루션 탐색기 도구 창에서 메뉴 항목을 통해 Visual Studio 2012/2013 프로젝트의 너겟 참조를 포함하여 사용하지 않는 참조를 해결하십시오.
쉬운 작업이 아니기 때문에 문제가 발생한 경우 롤백하기 전에 백업 및 / 또는 커밋을 제안하는 것이 좋습니다.
답변
Resharper 2019.1.1을 사용하여이 작업을 수행 할 수 있습니다.
프로젝트> 리 팩터> 사용되지 않은 참조 제거를 마우스 오른쪽 단추로 클릭하십시오.
프로젝트가 작 으면 프로젝트> 사용 된 참조 최적화를 프로젝트 할 수도 있습니다. . .
창이 나타납니다. 모든 참조를 선택하고 모두 제거하십시오. 그런 다음 돌아가서 컴파일러 오류를 발생시키는 것을 다시 추가하십시오.
답변
이것은 육체 노동이지만 작동합니다.
-
ReSharper 또는 유사한 코드 분석 도구를 사용하여 프로젝트에서 사용되지 않은 참조를 식별하고 해당 프로젝트에서 너겟을 제거하십시오.
-
때때로 제거 된 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