* Visual Studio IDE라는 표현은 Visual Studio Code와의 명칭에 대한 혼동을 방지하고자 하는 것이며 Visual Studio 2019나 2022등의 IDE를 의미합니다.
Visual Studio IDE는 다른 program과 마찬가지로 자신의 설정관리를 위해 Registry를 이용하고 있습니다. 그런데 실제 Windows 운영체제의 Regedit를 뒤져보면 Visual Studio IDE와 관련한 설정을 찾을 수 없는 경우가 많은데 그 이유는 Visual Studio IDE는 이 설정 자체를 별도의 file로 따로 분리하여 관리하고 있기 때문입니다.
실제 Visual Studio 2022의 경우 아래 경로에 있는
C:\Users\Administrator\Local Settings\Application Data\Microsoft\VisualStudio\17.0_e3530e06 |
privateregistry.bin 파일에 Registry설정과 관련한 key와 value을 저장하고 Visual Studio 2022를 실행하면 해당 설정을 읽어 적용시킨 뒤 다시 Visual Studio 2022를 닫으면 그 동안의 설정을 privateregistry.bin file에 저장하는 방식으로 작동하는 것입니다.
이는 privateregistry.bin file의 내용을 수정하면 해당 변경사항이 그대로 Visual Studio IDE에 적용된다는 의미가 됩니다.
예를 들어 Visual Studio 2022에서 새로운 project를 생성할때 표시되는 'Create a new project'화면을 보면 Template을 검색하기 위해 입력했던 단어들이 표시되는걸 볼 수 있는데
위와 같은 입력 Log도 Registry안에 기록하고 관리합니다.
실제 이를 확인해 보려면 Windows의 Registry를 실행하고
왼쪽에 있는 Key중 하나를 선택한 뒤 Registry편집기의 'File -> Load Hive' 메뉴를 통해
현재 Visual Studio IDE의 privateregistry.bin file을 선택하면 privateregistry.bin file의 설정을 가져올 수 있도록 합니다.(File을 읽어들이기전 사용할 key를 입력하라는 message를 볼 수 있는데 이때는 이미 존재하는 다른 key가 중복되지 않는 임의의 이름(예제에서는 _vs)을 입력하면 됩니다.)
이때 privateregistry.bin file의 설정을 가져오려면 Visual Studio IDE가 닫혀있어야 합니다. 간혹 Visual Studio IDE가 실행중이 아닌데도 해당 file을 읽을 수 없는 경우가 있는데 이는 Background에서 privateregistry.bin file에 설정을 적용하고 있기 때문입니다. 이때는 잠시 기다리면 privateregistry.bin file이 풀리기 되므로 20~30초간 여유를 가진뒤 다시 file 읽기를 시도하시면 됩니다.
privateregistry.bin을 성공적으로 읽게되면 위와 같이 해당 설정key를 볼 수 있게 됩니다. 여기서 만약 'Create a new project'화면에서 표시되던 Template검색 단어의 내용을 삭제하고자 한다면 아래와 같이 표시되는 해당 Registry의 값을 제거하면 됩니다.
실제로 값을 모두 삭제한뒤
변경사항을 적용하려면 privateregistry.bin file을 읽어들일때 입력했던 최상단 key(예제에서는 _vs)를 선택하고 'File -> Unload Hive'를 선택하여 Registy를 분리하도록 합니다.
그리고 다시 Vsual Studio를 실행해 보면 변경했던 Registry가 그대로 적용되었음을 확인할 수 있습니다.
*주의 : privateregistry.bin의 Registry설정을 변경하는건 많은 책임을 요구합니다. 설정변경이나 삭제시 상당한 주의가 필요하며 만일의 상황에 대비해 privateregistry.bin을 따로 복사하여 백업해 둘것을 권장합니다.
'.NET' 카테고리의 다른 글
[.NET] 닷넷 - 2. .NET components (0) | 2022.06.24 |
---|---|
[.NET] 닷넷 - 1. .NET 6 개요 (0) | 2022.06.24 |
[ASP.NET Core] IIS 배포 (게시) (0) | 2021.12.15 |
.NET과 C# 시작하기 (0) | 2021.10.28 |
[.NET] 가비지 컬렉션(Garbage Collection) (0) | 2021.10.25 |