[C#] “시작으로 설정”옵션이 sln 파일이 아닌 suo 파일에 저장되는 이유는 무엇입니까?

이 설정은 솔루션 파일에 저장되어 모든 사용자와 소스 코드 제어의 일부에서 공유되어야합니다. 우리는 suo 파일을 체크인하지 않기 때문에 각 사용자는 이것을 이상한 것으로 설정해야합니다.



답변

왜 사용자가 아닌 환경 설정이되어야합니까?

10 개의 파일이있는 솔루션을 가지고 있는데 한 명의 개발자가 주로 해당 도구 중 하나를 테스트 / 사용하는 경우 왜 시작에 영향을 미칩니 까?

나는 MS가 이것에 대한 올바른 선택을했다고 생각합니다. 이 프로젝트 내가 시작하려는은 반드시 프로젝트에서 멀리 다른 개발자가 시작하고 싶어.


답변

Jon이 이미 말했듯 이 모든 사람이 시작 프로젝트를 스스로 정의 할 수 있어야합니다 . 그러나 전용 기본 설정을 사용하는 것이 좋으며 내가 알 수 있듯이 가능합니다!

솔루션 디렉토리에 .suo 파일이 없으면 Visual Studio는 .sln 파일의 첫 번째 프로젝트를 기본 시작 프로젝트로 선택합니다.

  1. Visual Studio를 닫고 자주 사용하는 텍스트 편집기에서 .sln 파일을 엽니 다. 4 행부터 모든 프로젝트가 ProjectEndProject행으로 캡슐화 된 것을 볼 수 있습니다 .

  2. 원하는 기본 시작 프로젝트를 잘라내어 최상위 위치에 붙여 넣습니다.

  3. .suo 파일을 삭제하십시오.

  4. Visual Studio에서 솔루션을 엽니 다. 타 다아!

Jon이 모르는 것을 알고 있다면 특별한 상이 있습니까? 😉


답변

대부분의 경우, 수행 이에 기본을 가지고 이해.

기본 시작 프로젝트를 수용하고이를 .sln 파일에 저장하는 것이 훨씬 좋지만 개발자가 .suo 파일로 재정의 할 수 있습니다. .suo 파일에서 시작 설정을 찾을 수 없으면 .sln의 기본 시작 프로젝트가 사용됩니다.

실제로 이것은 Visual Studio의 UserVoice 에서 제안 되었습니다 .


답변

slnStartupProject시작 프로젝트를 자동으로 설정하는 Windows 용 작은 명령 줄 유틸리티를 작성했습니다 .

slnStartupProject slnFilename projectName

개인적 으로 더미 프로젝트를 솔루션의 첫 번째 프로젝트로 설정하는 cmake로 솔루션을 생성 한 후 시작 프로젝트를 설정하는 데 개인적으로 사용합니다 ALL_BUILD.

소스는 GitHub의에 있습니다. 포크와 피드백을 환영합니다.


답변

GIT를 사용하는 경우 기본 SUO 파일을 커밋 한 후 다음을 사용하여 변경되지 않은 것으로 표시 할 수 있습니다.

git update-index --assume-unchanged YourSolution.suo

기본 시작 그룹에 둘 이상의 프로젝트가있는 경우에도 작동합니다. 내가 아는 유일한 단점은 SUO 파일을 커밋하지 않으려는 모든 사람이이 명령을 실행해야한다는 것입니다.


답변