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]

... 46  47  48  49  50  51  [52]  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1526황상대1/26/201513101C# 마샬링 관련 질문이 있습니다. [1]
1525Ji-y...1/19/201511705시작하세요 C# 프로그래밍 도서에 관한 질문입니다. [1]
1523임종복12/31/201419097windows 2008 r2에서 ms-sql 2008 서버사용시 tls문제점 [3]
1524임종복1/4/201514037    답변글 [답변]: windows 2008 r2에서 ms-sql 2008 서버사용시 tls문제점 [2]
1521윤대욱12/19/201411561C++ 에서 서버와 클라이언트를 나누어서 구조체 전달에 대해서 궁금합니다. [1]파일 다운로드1
152012/10/201411889datetime관련해서요 [1]
1516aTo12/1/201411380wpf 배포관련. [3]
1514얄미운제리11/17/201412649[C# Mono]Mono Chart 개발 문의드립니다. [1]
1355미나리나물11/13/201410194RDP 접속 방식 질문드리고 싶습니다. [1]
1353송용국11/10/20149345TeamFoundationServer 에 소스를 Target서버로 옮기는(내려주는) 방법 있나요? [1]
1351blue...11/7/201414148c# webbrowser 모바일환경 접속 [1]
1350에메11/7/201413617WCF namedpipe 퍼블리싱 충돌 문제 [3]파일 다운로드1
1349Chun...11/6/201418451Microsoft. Net Framework 액세스 거부 오류...... [2]
1348김준석11/6/201414314 Mini dump 기록 안되는 현상 [2]파일 다운로드1
1346개미11/5/201428702https페이지에서 http서버에 있는 이미지 파일 호출시 보안 오류 [8]
1345장구니11/4/201412214AWS 인스턴스를 만들었는데 [1]
1343h11/2/201412116안녕하세요 [1]
1342왕초보11/1/201417144C#에서의 함수포인터 [13]
1347왕초보11/5/201412312    답변글 [답변]: C#에서의 함수포인터 [1]
1341영택10/29/201413122MFC Amazon S3 사용관련하여 질문드립니다. [2]
1344영택11/4/20149860    답변글 [답변]: MFC Amazon S3 사용관련하여 질문드립니다. [2]
1340감사합니다10/28/201414265c# wpf shdocvw internet explorer를 윈도우프레임으로 집어 넣을 수 있는지 궁금합니다. [3]파일 다운로드1
1338헬프미10/28/201415178tcp 소켓의 SYN_RECV 상태에 대하여 질문있습니다. [3]
1336이소정10/27/201410729filestream seek에 대해 질문있습니다. [1]
1337이소정10/28/201410685    답변글 [답변]: filestream seek에 대해 질문있습니다.파일 다운로드1
1339이소정10/28/201413592        답변글 [답변]: [답변]: filestream seek에 대해 질문있습니다. [2]파일 다운로드2
... 46  47  48  49  50  51  [52]  53  54  55  56  57  58  59  60  ...