Microsoft MVP성태의 닷넷 이야기
글쓴 사람
김재영 (kjyoffice at empal.com)
홈페이지
첨부 파일
 

안녕하세요.
프로그램 개발중에 질문이 있어서 질문을 드립니다.

질문의 내용은 다음과 같습니다.
프로그램을 만들고 그 어셈블리에 가령 워터마크 같이 식별할 수 있는 값을 넣을려고 합니다.
그리고 (예를들어)준비된 값은 "RELEASE", "DEVELOP", "TEST"이렇게 3개로 가정하겠습니다.

의도대로면 각각의 값을 넣어가며 빌드를 각각 1번씩 총 3번을 하면 됩니다만.
이게 한 100개정도 되면 일일이 하는건 무척 힘들거 같아서 자동화를 할 수 있는 방법을 찾고 있습니다.

막연히 생각해 본 방법은 아래와 같습니다.
1-1. 프로그램 소스를 준비
1-2. 워터마크같은 값이 들어갈 곳에 Replace구문 지정
(예 : string sValue = "@VALUE@";)
2-1. 자동화 프로그램 시작
2-2. "1-2"의 파일을 Open, Replace, Save
(예 : File.WriteAllText(File.ReadAllText(@"C:\---\ValueX.cs", ---).Replace("@VALUE@", "REAL_VALUE_HERE"), ---);
(* "---"은 생략 기호로 간주해주세요.)
2-3. "1-1"에서 준비된 csproj파일을 명령행으로 빌드

위 방법으로 하면 문제될 부분이 없다고 판단됩니다만.
혹시나 다른 방법이 있는지 궁금합니다.

config파일에서 appSettings가 이러라고 있지만 제가 의도하는 부분은 코드 변동의 소지가 없어야 합니다.








[최초 등록일: ]
[최종 수정일: 2/15/2012]


비밀번호

댓글 작성자
 



2012-02-15 11시29분
말씀하시는 용도의 워터마크라면, 어쩔 수 없이 그와 같이 하시는 것이 맞을 듯 싶은데요. ^^ 참고로, ... 워터마크를 끼워넣을 적당한 곳으로는, "[assembly:...]" 특성이 좋지 않을까 싶군요. ^^ 그렇게 되면, reflection으로도 쉽게 확인이 가능하니까요.

그리고, Signing을 하지 않아도 된다면 빌드된 결과물인 binary 자체에서 말씀하신 것과 같은 문자열 찾기를 해서 치환해도 됩니다. 그런 경우에는 가능하다면 '대체될 dummy 문자열'을 미리 충분히 확보해 두는 것이 좋을 것입니다.
정성태
2012-02-17 09시39분
[김재영] 본문에 방법이 나름 괜찮은 방법이었군요. ^^
그런데 성태님께서 제안한 바이너리 대체가 더 괜찮아 보이는군요
매번 빌드안해도 되구요. +_+

답변과 의견 감사합니다.~
[guest]

1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5648주니어개...4/13/20223931컴파일된 코드를 원시코드로 바꾸려면 어떻게해야하나요? [1]파일 다운로드1
5647장성욱4/7/20223973코어지정 CPU사용률 관련 질문 [1]
5646서형주4/6/20223991List에 여러개의 class 객체를 만들어 넣을때, 객체의 method들도 같이 생성되어 메모리를 차지하나요? [1]
5645김인태4/6/20223640윈도우즈 서버의 AD 계정 생성 조건이 있을까요? [1]
5644ㅇㅇ4/6/20224392c# 프로그램을 이용하여 리눅스상에 파일 생성이 가능한가요? [1]
5643유필재4/5/20224264TCP클라이언트 연결 및 통신관련하여 문의드려요 [1]
5642차가워4/4/20224515UdpClient 패킷 수신 문의 [4]
5641장성욱4/4/20224932코어 할당 및 cpu 부하테스트 질문 [7]
5640icoo...4/4/20224466웹가든에서 메모리 동적 업데이트 방법 [1]
5639차가워4/4/20224357c++ 서버 c# 클라이언트 호환 문의 [1]
5638초급4/3/20224656c# sql server 연동 [1]
5637따봉이4/1/20224928Winform Form Load 후 자동 캡쳐관련 [1]파일 다운로드1
5636김철순3/31/20224910WPF에서 Richtext의 View 문의 [5]
5635guest3/30/20224940안정적인 pinning이 가능하네요. [3]파일 다운로드1
5633꿀주세요3/30/20224585선생님 마우스 클릭이벤트 질문이 있습니다. [4]
5632김현수3/30/20224920Remote Desktop으로 접속시 WPF UI 가 다시 그려지는 이벤트를 막을 수 없을까요? [3]
5631김기헌3/24/20224559WPF 컨트롤의 그래픽 처리관련 질문드립니다 [2]파일 다운로드1
5630장성욱3/24/20224380로깅관련 질문입니다. [2]
5629감사합니...3/23/20224634함수에서 예외가 발생하면 try ~ catch처리기를 찾을 때 까지 상위 함수로 계속 올라가나요? [2]
5628홍길동3/23/20225291질문드립니다. [2]파일 다운로드1
5626연준혁3/21/20224492안녕하세요. [3]
5625jaew...3/18/20225423c# 8.0 도서를 구입한 사람입니다. [1]
5624초보자3/17/20224392람다 캡처 관련 문의 [2]
5623한예지 donator3/15/20224768인터프리터 원리가 궁금합니다. [4]
5622김민아3/8/20224712const와 readonly의 명확한 차이가 이게 맞나요? [2]
5621장성욱3/8/20224517c# 로그 관련 질문 [1]
1  2  3  4  5  6  7  8  9  10  11  [12]  13  14  15  ...