반응형
현재 날짜와 시간으로 사용된 예제
컴파일시에 자동으로 파일버전을 증가하고 싶은데 기존의 형식이 마음에 들지 않을때 사용.
마지막 컴파일한 날짜와 시간을 사용.
파일 버전 : 2022년 1월 20일 16시 37분
# 적용방법
Assemblyinfo.cs 파일 삭제(Delete)
추가 새항목 Assembly.tt
추가된 Assembly.tt
# 코드 내용 (Assembly.tt)
<#@ template language="C#" hostspecific="true" #>
using System.Reflection;
[assembly: AssemblyVersion("<#=DateTime.Now.Year#>.<#=DateTime.Now.ToString("MM")#>.<#=DateTime.Now.ToString("dd")#>.<#=DateTime.Now.ToString("HHmm")#>")]
이제 빌드 하시면 위 형식대로 파일버전이 입력됩니다.
여기까지 하면 초기에 한번은 파일이 생성되어 적용 되는데 이후에는 다시 생성되지 않습니다.
매번 코드를 생성하기 위해 프로퍼티 - 빌드 이벤트 - 빌드 이벤트 명령줄 대화상자에 아래 내용을 입력 합니다.
"$(DevEnvDir)TextTransform.exe" -out "$(ProjectDir)Properties\Assembly.cs" "$(ProjectDir)Properties\Assembly.tt"
# 예제파일첨부
# 추가 서브버전 사용시 체크아웃 문제
Assembly.tt와 Assembly.cs 파일이 체크아웃되어 지속적으로 괴롭히는 상황이 생길수 있다.
빌드 이벤트 구성을 릴리즈일때만 적용되게 하여 평소에 체크아웃 되는 상황을 피할수 있다.
빌드 이벤트 내용
if $(ConfigurationName) == Debug goto :debug
:release
"$(DevEnvDir)TextTransform.exe" -out "$(ProjectDir)Properties\Assembly.cs" "$(ProjectDir)Properties\Assembly.tt"
goto :exit
:debug
:exit
반응형
'C#' 카테고리의 다른 글
[GitHub] 대용량 파일 100MB 이상의 파일 업로드 하기 (with GitHub DeskTop) (0) | 2022.04.25 |
---|---|
Team Foundation Sever 버전 제어 , 소스제어 연결 끊기 (0) | 2022.03.21 |
[NSIS] 프로그램 실행중일때는 확인 메시지후 종료하기 (0) | 2022.01.19 |
[Azure DevOps] 작업영역 강제 제거하기 (0) | 2022.01.19 |
C# MultiMediaTimer 1ms 간격의 타이머 (멀티미디어타이머) (0) | 2022.01.06 |