본문 바로가기
반응형

분류 전체보기552

GitHub - .vsidx파일 때문에 git commit 안되는 경우 Git에서 commit을 하려고 했는데 vsidx파일 때문에 안된다고 한다. .vsidx파일이 뭔가요?Visual Studio에서 생성하는 인덱스 캐시 파일이다. 왜 .vsidx파일은 충돌을 발생시키나요?01 머신/사용자별로 다르게 생성.vsidx는 로컬 개발 환경에서 자동 생성되며 사용자별 인덱싱 정보가 들어있다. 그러므로 같은 프로젝트라도 개발자마다 내용이 다를 수 있다. 02 내용이 자주 바뀜파일 편집, 탐색, IDE를 열고 닫기만 해도 .vsidx를 업데이트 한다. 그러므로 GIT은 이 파일이 변경됐다고 감지하고 커밋 대상에 포함시킨다. 03 바이너리 파일이라 충돌 해결이 불가능.vsidx 파일은 바이너리 형식이라 Git이 내부 내용을 비교하거나 병합할 수 없다.그래서 어떻게 해결하나요?01 이.. 2025. 5. 1.
GitHub - gitignore 사용해서 Unity 프로젝트 업로드 +) .meta 설명 .gitignore란?Git은 기본적으로 폴더 내 모든 파일을 업로드하려고 한다. 하지만 그렇게 되면 용량이 너무 커져버린다. 그래서 버전 관리 대상 혹은 폴더를 지정해서 제외할 수 있는 설정 파일이다. 간단히 말해 이건 Git에 올리지마!를 설정하는 것이다.gitignore 문법 규칙01 파일명 특정 파일 무시log.txtlog.txt라는 이름의 파일이 어디에 있던 무시된다.02 폴더명/해당 폴더와 내부 파일 모두 무시Temp/03 *. 확장자특정 확장자 파일 전부 무시*.log04 경로 파일명/특정 경로 내부 파일만 무시build/output.txt05 !파일명무시 목록에서 예외로 지정*.txt!README.txtREADME만 예외적으로 Git에 포함Unity프로젝트는 업로드하면 백프로 100mb가 .. 2025. 4. 30.
C# - Try패턴(TryLoad,TryParse등)에서 out 사용시 null을 조심하자! 분명히 모든 변수를 초기화를 했는데 계속 NullReferenceException가 떴다. 원인을 찾아보자 하다가 TryLoad때문이라는 것을 알게되었다. Try 사용시 null 조심!아래와 같이 inventory리스트를 먼저 초기화했다고 가정해보자void Main(){ List inventory = new List(); if (TryLoad(out SaveData saveData, out List list)) { inventory = list; }}inventory도 미리 new List()으로 초기화했으니까 null 에러가 날 일이 없다고 생각하겠지만 실제로는 TryLoad() 함수 내부에서 이 값을 null로 덮어씌워졌기 때문에 이후 코드에서 inventory를 .. 2025. 4. 24.
C# - 정수 입력 받을때 Parse보다는 TryParse를 사용해서 예외처리까지 확실히! 보통 정수를 받아온다하면 아래와 같이 int.Parse를 많이 사용한다. int number = int.Parse(Console.ReadLine()); 하지만 만약에 숫자를 입력한 것이 아니라 문자열이 들어오면 바로 예외가 발생하게 됩니다. 그래서 애초에 예외가 발생하지 않도록 처리할 수 있는 TryParse를 사용하는 것이 더 안전합니다. TryParse이란?변환을 시도하고 성공 여부를 bool로 반환하는 메서드입니다. 변환에 성공하면 해당 값을 out 변수에 저장합니다. 실패시 기본값(string인 경우 "", int인 경우 0, bool인 경우 false)이 들어가게 됩니다.bool isSuccess = int.TryParse("123", out int number);예시string input = .. 2025. 4. 24.
GitHub - 현재 작업중인 브랜치에 다른 브랜치 최신 내용 반영 방법 협업을 하다 보면 각자 기능이나 작업을 개인 브랜치에서 개발하고 그 변경 사항들을 모두 통합에 관리하는 develop 브랜치를 사용하는 경우가 많다. 그래서 develop 브랜치의 최신 변경사항을 내 작업 브랜치에 반영(동기화)하는 방법에 대해 알아보자 예시개인 브랜치 : feature/quest/devlop 브랜치 : 모든 팀원이 작업을 merge하는 통합 브랜치 왜 develop 브랜치의 최신 내용을 반영해야 하나요?개인 브랜치에서 작업하던 중 팀원들이 develop에 새로운 기능을 올려버리면 내 브린치는 구 버전으로 작업하게 된다.이 상태로 작업을 이어가면 나중에 develop에 merge할때 충돌이 발생할 가능성이 높고 버그나 기능 오류로 이어질 수 있다. 따라서 주기적으로 develop 브랜치.. 2025. 4. 22.
Unity - 디버그 프로필에 지정된 디버그 실행 파일 .exe가 없습니다 에러 협업 도중 GitHub에서 스크립트를 다운로드 받고 디버그를 하던 중 아래와 같이디버그 프로필에 지정된 디버그 실행 파일 .exe이 없다고 오류가 떴다.원인 찾기: .NET 6.0과 Visual Studio 버전 호환 문제이것저것 살펴보던 중 **해당 프로젝트의 대상 프레임워크가 .NET 6.0**으로 설정되어 있다는 점을 발견했습니다.그리고 결정적인 사실 하나!Visual Studio 2019에서는 .NET 6.0 이상을 공식적으로 지원하지 않습니다.즉, Visual Studio 2019에서는 .NET 6.0 기반 프로젝트를 제대로 빌드하거나 디버깅할 수 없는 것이었습니다. 해결 방법: Visual Studio 2022 + .NET 6.0 Runtime 설치그래서 Visual Studio 2022를 설.. 2025. 4. 21.
반응형