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]

... 76  77  78  79  80  81  82  83  84  85  86  87  [88]  89  90  ...
NoWriterDateCnt.TitleFile(s)
238이순원9/13/20057373디버깅 할때 native 옵션껐는데두 너무 느려요.. [1]
236코디9/12/20057329[질문]런타임 보안 배포 [1]
237코디9/13/20057913    답변글 [재질문]: [질문]런타임 보안 배포 [1]파일 다운로드1
235임은선9/9/20059741스마트 클라이언트 배포시 환경파일인 app.config는 어떻게 배포 해야하나요...? [2]
234임은선9/7/20058615스마트 클라이언트 보안문제관련해서 질문이 있습니다.. [2]
233이한욱8/31/200516618가상 시리얼 포트(Virtual COM Port) 만들기 [1]
232정준명8/30/20058022[질문] HTTP 모듈/핸들러 또는 RewriteURL 관련입니다. [4]
231이진일8/30/20057454참조한 dll 들은 어떻게 배포하나요...? [1]
2303028/29/20058095[질문] 웹에서 Exchange Server 사용자 추가 [2]
229김재명8/26/20057764성태님의 홈페이지 J & J의경우 보안모듈을 어떻게 해결하셨는지 궁금합니다. [1]
227임규진8/24/20057522리소스 파일에 그림 첨가하는 방법 좀 알려 주세요. [1]
226최인호8/19/20057645스마트 클라이언트 exe 버젼 실행시 시간이 너무 오래 걸립니다. [1]
225코디8/17/20057759[질문]닷넷프레임워크 설치여부 [1]
224박준현8/17/20057384[질문]중첩 그리드라고 해야 할까요? [1]
223매커7/28/20056903강좌 잘 읽었습니다. [1]
222김지영7/27/20058453C#에서 oledb 사용하다가 에러 [2]
221박민우7/26/20058866스마트클라이언트에서의 DB접속 [1]
220테드7/22/20057839스마트 클라이언트에서 원치 않는 패킷 송수신 문제... [3]
219김종욱7/21/20058175안녕하세요... 툴밴드 콤보 박스에 대해.. [1]
2187/21/20056727스마트 클라이언트에 대한 질문 입니다. [1]파일 다운로드1
217왕초보7/21/20057371마소강좌의 AxForSmartClient 를 실행시키고 싶은데요... [1]
215궁금증6/23/20056786도대체 이게 무슨 에러 일까요... [1]
213궁금이6/18/20058603Winform 형태의 NTD에서 사용자 로그인 성공 여부 정보 유지하는 방법 [1]
212궁금이6/16/20056617ActiveX 컨트롤이 NTD에 이상이 없는지요? [1]
211류성태6/15/20057097smart client에 관하여.... [1]
206헤커의작...6/14/20056243[질문] 안녕하세요. 성태님의 홈페이지에서 화면전환시 처리되는 것에 관련된 건 [3]
... 76  77  78  79  80  81  82  83  84  85  86  87  [88]  89  90  ...