!.. Tip

C# 비주얼 스튜디오에서 리소스 이미지 삭제

rosehill 2024. 8. 8. 15:46

C#윈도우 폼작업시, 비주얼 스튜디오를 이용하고는 하는데, 이때 특정이미지를 프로그램에 삽입하거나 혹은 아이콘등을 삽입하는 경우에, 해당 이미지를 더이상 사용하지 않거나 혹은 다른것으로 교체를 해버리고 나서도, 해당 이미지와 파일들은 여전히 등록되어 있는경우를 보게 된다. 

내가 사용하지 않거나, 혹은 이미 없어진 이미지들이 여전히 목록에 남아있다.

캡춰 화면은 비주얼 스튜디오 화면인데, 여기서 nigth_sky나 혹은 tree, tree2같은 경우는 더이상 사용되고 있지 않는 것들이다. 이런것들이 여전히 목록속에 남아있는데, 이를 없애주고 싶다. 캡춰 화면에서 보다시피, 리소스선택이라는 폼에서는 그러한 기능이 존재하지 않는다.. 

오른쪽 비주얼 스튜디오의 속성창을 보면.. Resources라는 곳에 해당파일들이 여전히 나열되어 있는것이 보인다. 이 Resource는 실제 작업실의 바로 하단 폴더인 Resources라는 방에 들어가면 실제 이미지들을 볼 수 있다. 그냥 보이니 바로 삭제 해 버리면 될것같다.. 

그냥 이렇게 좌측의 비주얼 스튜디오에서도, 또 폴더상에서도 바로 그냥 삭제해 버리면 될것같다.

이렇게 그냥 삭제 해 버리면 될것같지만, 그렇게 간단한 문제가 아니다.

문제는 삭제를 해도 이렇게 여전히 목록에는 남아있게된다.

이렇게 목록에서는 여전히 남아있고, 이것은 이후에 여러 복잡한 문제를 가져오게 된다. 디자인 창이 에러가 나면서 뜨지 않거나(디자인을 보여주지 않고 에러를 발생시킴. )혹은 아무 이상 없이 작업을 다 했는데 갑자기 저장하는 순간 사라진 파일을 찾으면서 없다고, 프로그램이 "징징"대는 에러를 발생키거나, 또는 아무 이상없이 저장까지 다 했는데 다시 실행하려고 비주얼 스튜디오를 여는순간 에러를 내거나.. 

그래서 일단 파일을 먼저 삭제 하기 이전에 이놈을 기억하고 있는 부분을 삭제해주는것이 우선이다. 

사실 간단하다. 일단 해당 파일 관련하여, Ctrl+F키를 눌러서 "찾기"창을 열고, 거기에 입력을 한 후 일단 이놈이 어디에 기억되고 있는지를 찾아본다

night_sky란 이름으로 찾아보니 한군데에서 일단 발견되었다.찾기 옵션은 현재 연결된 모든 파일을 뒤져야 하므로 "전체 솔루션"으로 잡아줘야한다.

이때 "전체 솔루션"을 다 뒤져야 하므로 찾는 위치에 "전체 솔루션"으로 잡아줘야한다 검색하니 일단 한군데에서 발견된다.

Resource.resx*파일 안이고 그 안에 <data></data>로 감싸져 있는것이 발견된다. 자세히 보면 아래 윗줄에 현재 사용되는것들의 이름도 들어있다. 그러니까 여기는 그런것들을 저런 data란 태그로 묶어서 관리하는 곳이란걸 파악할 수 있다. 저기서 지금 사용되고 있는것들은 삭제하면 안될것이다. 

바로 이 부분을 삭제를 해주면, 항목에서 사라진걸 확인 할 수 있다. 저장을 해주고.. 모든 솔루션 저장..  그리고 이제 그 이후에 컴파일을 하고 돌아가는것 보고, 다 이상 없는것 확인한 다음에 비주얼 스튜디오를 다시 실행시켜서 확인해보면 목록에서 사라진것을 확인 할 수 있다. 진짜 그림 파일들은 이제 삭제해주고, 속성창에 매달려 있던것들도 이제 제거해준다... 

역시 다 끝나면 모두 저장하고, 컴파일,링킹을 통해 이상유무 파악한다. 

윈도우 폼이 편리하긴 한데, 이렇게 디자인 상에서의 문제등이 발생되면 간혹 당혹스럽게 된다. 그렇기 때문에 이 윈 폼을 들여다 보면서도 한편으론 콘솔상에서 어떻게 돌아가는지도 계속적으로 들여다 볼 필요가 있어야 할것같다. C++에서 API기능과 비슷하기에 조금 살펴보면 어느정도는 파악하기엔 어렵지 않을것같다.