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)
266유리11/15/200511736            답변글 [답변]: [답변]: [답변]: 스마트 질문좀 할께요. 죄송합니다. [2]
257차우차우10/28/200511293스마트 클라이언드 에서.. 수정하면 안돼는 문제? [1]파일 다운로드1
254박상호10/26/200511338스마트 클라이언트관련해서 질문이 있습니다. [1]
253Lee ...10/27/200511062안녕하세요. 바쁘신데 이렇게 질문드려서 죄송합니다. 스마트 클라이언트에 관한 질문입니다. [2]
252홍영진10/26/200511372SmartClient 배포시 닷넷프레임워크배포
255정성태10/27/200512031    답변글 [답변]: SmartClient 배포시 닷넷프레임워크배포
249ROY10/23/200511392X-internet & Peer to Peer
251정성태10/24/200511964    답변글 [답변]: X-internet & Peer to Peer [1]
246뽀송이10/17/200511752스마트클라이언트 개념에 대한 질문입니다.(Connection Pool사용 가능?) [2]
247정성태10/17/200511763    답변글 [답변]: 스마트클라이언트 개념에 대한 질문입니다.(Connection Pool사용 가능?)
248뽀송이10/17/200512066        답변글 [답변]: [답변]: 스마트클라이언트 개념에 대한 질문입니다.(DB연동을 웹서비스로 하면 문제는?) [3]
245오혁천10/12/200512507스마트 클라이언트에서.. Socket 함수 사용 [1]
244정우기10/11/200511752스마트클라이언드 권한관련 콜솔 프로그램 에 관하여 문의좀..ㅜ.,ㅜ [1]
242이용희10/7/200511847스마트클라이언트 배포시 .NET Framework 버전에 관한 문제
243정성태10/10/200511702    답변글 [답변]: 스마트클라이언트 배포 시 .NET Framework 버전에 관한 문제 [3]
241김재옥10/5/200511452smart client에서의 Socket 함수 사용 [1]
240이형배9/15/200511090스마트클라이언트배우고 싶어여... [1]
239장강현9/14/200515983SmartClient에서의 배포 문제에 대해 [2]
238이순원9/13/200511159디버깅 할때 native 옵션껐는데두 너무 느려요.. [1]
236코디9/12/200511207[질문]런타임 보안 배포 [1]
237코디9/13/200511759    답변글 [재질문]: [질문]런타임 보안 배포 [1]파일 다운로드1
235임은선9/9/200513787스마트 클라이언트 배포시 환경파일인 app.config는 어떻게 배포 해야하나요...? [2]
234임은선9/7/200512541스마트 클라이언트 보안문제관련해서 질문이 있습니다.. [2]
233이한욱8/31/200520654가상 시리얼 포트(Virtual COM Port) 만들기 [1]
232정준명8/30/200512351[질문] HTTP 모듈/핸들러 또는 RewriteURL 관련입니다. [4]
231이진일8/30/200511272참조한 dll 들은 어떻게 배포하나요...? [1]
... 76  77  78  79  80  81  82  83  84  85  86  87  [88]  89  90  ...