빌드된 파일의 '제품 버전' 뒤에 커밋 해시가 붙는 경우

언제부터인가 빌드된 바이너리 뒤에 커밋 해시가 붙고 있습니다.

원인은 닷넷 8 SDK에 통합된 SourceLink 때문입니다.


(SourceLink가 활성화된 패키지의 경우)


(SourceLink가 비활성화된 패키지의 경우)

닷넷 8 SDK로 빌드한 바이너리라면 대상 프레임워크에 상관 없이 커밋 해시가 붙습니다. SourceLink를 꺼도 이 커밋 해시가 붙는데, 이걸 싫어하시는 분들은 다음을 프로젝트 파일에 추가하시면 됩니다.

<PropertyGroup>
  <IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
</PropertyGroup>

이렇게 해도 SourceLink 기능을 못 쓰는건 아닙니다. 저는 Directory.Build.props 파일에 추가해 놨습니다.

보시다시피 커밋 해시가 깔끔하게 사라졌습니다.

참고로 SourceLink의 경우 기본적으로 obj 폴더의 파일은 포함시키지 않아서 노란색 느낌표 방패가 뜹니다. 위 사진처럼 초록색 방패를 뜨게 하고 싶다면

<PropertyGroup>
  <EmbedUntrackedSources>true</EmbedUntrackedSources>
</PropertyGroup>

이걸 프로젝트 파일에 추가하시면 됩니다.

7 Likes

이거 골때렸죠.

도커 이미지 버저닝하는데 사용하는데 배포 안되서 한참 고민했던

2 Likes