필요없을 것 같은 nuget dll 제거 방법문의

안녕하세요.

nuget 에 대한 개념이 부족한 개발자입니다.

어떤분이 개인적으로 진행하던 WPF 프로그램 하나를 덜컥 맡아서 유지보수중인데요.

사용중인 nuget 전체 update를 했더니,
bin 폴더에 .dll들이 갑자기 늘어났습니다.

이게 원래 사용하고 있던 관련 nuget pkg dll들인데,

Microsoft.IdentityModel.Clients.ActiveDirectory.dll
Microsoft.IdentityModel.JsonWebTokens.dll
Microsoft.IdentityModel.Logging.dll
Microsoft.IdentityModel.Tokens.dll
MiscUtil.dll
Newtonsoft.Json.dll
System.IdentityModel.Tokens.Jwt.dll

위 nuget pkg를 업데이트 하고서는 아래 dll들이 추가 됐습니다.
Microsoft.Bcl.AsyncInterfaces.dll
Microsoft.Identity.Client.dll
Microsoft.IdentityModel.Abstractions.dll
System.Buffers.dll
System.Memory.dll
System.Numerics.Vectors.dll
System.Runtime.CompilerServices.Unsafe.dll
System.Text.Encodings.Web.dll
System.Text.Json.dll
System.Threading.Tasks.Extensions.dll
System.ValueTuple.dll

특정 nuget에서 필요하니까 .dll을 추가했을 것 같기도 합니다만,
기존에 쓰지 않고도 동작에 문제가 없었기때문에
강제로라도 필요 없는 dll을 제외하고 싶은데요.

질문입니다.
산출물안에 원하지 않는 dll을 만들지 않는 방법은 없을까요?
삭제보다는 처음부터 생성이 안되면 좋을 것 같습니다.

원하지 않는 dll이 뭔지 알아내는 것도 필요하지만, 그건 try-error로 잡으면 되지 않을까 하는 막연한 기대를 하고 있습니다. (혹시 이것도 좋은 방법이 있을까요?)

고맙습니다.

1개의 좋아요

적어주신 것들을 보니 쓰시는 패키지에 종속적으로 필요한 항목들이네요.

Update를 하셨다고 했는데
모든 패키지가 최신 버전으로 업데이트 되면서
원래는 쓰지 않던 종속성까지 각 패키지들의 버전 업 과정에서 추가된 게 아닐까 싶습니다!

“아니 왜 이게 딸려오는거지?!” 궁금하신다면,

이 명령어를 활용해 보시는 건 어떨까용!

파일 여러 개가 나오는 부분이 신경쓰이신다면…
배포 옵션에 단일 파일 등 옵션을 추가 하는 방법도 있을 듯 합니다.
삭제라기보다는 하나에 뭉뚱그려서 포함하는 방법이겠네요.

예를 들자면요
.NET Core 이후 버전이라면,
image
이런식으로요.

7개의 좋아요

친절한 답변 고맙습니다. ^___^

다만. .net framework 4.8 이어서… (털썩)

이참에 닷넷 버전을 올려봐야겠군요 (단호)

2개의 좋아요

올릴수 있으면 베스트지만… 마이그레이션이 보통 귀찮은 일이 아니죠.
안된다면 다른 라이브러리를 통하셔야 할거에요(Fody 등)

이런게 있었네요. 꿀팁 감사합니다

새로생긴 dll 이름들이 다 최신기능을 지원하기위한 라이브러리들인데, 제가 봤을때는 없에면 안되는 필수적인 라이브러리들입니다. 굳이 원치않으신다면 sdk도 구형을 사용하고 직접적으로 참조중인 다른 패키지들도 구형의 상태로 유지하고 업데이트를 안해야 맞습니다. DLL정도는 그냥 프레임워크가 알아서 하도록 내비두는것도 방법입니다.

1개의 좋아요

눈에만 안보이면 되겠다 싶어서,
dll을 lib하위폴더로 옮기는 방법을 적용했습니다.

따뜻한 댓글 모두 고맙습니다.

4개의 좋아요