반응형
리눅스환경에서 .NET 프로젝트를 개발하던 중 런타임에서 설정파일을 불러오는 일이 필요했습니다.
위의 소스코드를 사용하면 프로그램의 현재 실행되고 있는 경로에서 config.json파일을 가져옵니다.
config.json을 빌드파일경로에 둘 수도 있지만 저는 프로젝트파일과 같은 경로에 config.json을 두고싶었습니다.
이때 프로젝트폴더에 있는 config.json을 수정하면 빌드폴더에 있는 config.json은 수정되지않는 문제가있습니다.
이 문제를 해결하기위해 저는 Symbolic Link를 사용했습니다.
Symbolic Link는 리눅스에서 사용하는 윈도우의 바로가기파일과 같은 역할을 합니다.
심볼릭링크를 생성할 위치로 이동해서 `ln -s` 명령어로 원본파일경로와 심볼릭링크이름을 지정해주면됩니다.
ln -s [원본파일경로] [심볼릭링크이름]
root@goorm:/workspace/Bot/bin/Debug/net6.0# ln -s ../../../config.json config.json
위의 소스코드에서는 심볼릭링크를 생성할 위치인 "/workspace/Bot/bin/Debug/net6.0"로 이동해서
Bot 디렉토리에 있는 config.json을 가져오기위해 "../../../config.json"을 입력하고
심볼릭링크의 이름을 config.json으로 했습니다.
"/workspace/Bot/bin/Debug/net6.0"의 파일들을 보면 config.json 심볼릭링크를 확인할 수 있습니다.
이렇게 빌드폴더에 심볼릭링크를 만들어 줬기 때문에 프로젝트파일에 있는 config.json만 수정해주면 실제 런타임에는 심볼릭링크를 찾게되고 심볼릭링크는 프로젝트경로에 있는 config.json을 찾아가게됩니다.
반응형
'ETC' 카테고리의 다른 글
EF Core DataAnnotations, DataTypeAttribute (0) | 2023.09.02 |
---|---|
Visual Studio 오류 : Windows에서 파일 시스템 유형 exFAT의 AppX경로에 배포할 수 없습니다. (0) | 2023.07.20 |
Google Play Book의 DRM 해제하기 (0) | 2023.02.27 |
SD 카드 용량 인식 오류 해결 (2) | 2021.02.24 |
지도파일 변환하기 (0) | 2020.07.29 |