# 해당 내용에 대한 것은 샘플 프로젝트를 확인해 주세요.
Visual Studio에서 조건부 컴파일 기호(전처리, define) 변경에 따른 참조 DLL 경로 자동 변경 구성에 관한 내용입니다.
1. 솔루션 구조
샘플 프로젝트는 DLL 프로젝트 와 Main 프로젝트로 나뉘며 DLL 프로젝트는 Main에서 출력파일(DLL.dll)만 참조합니다.
2. DLL 프로젝트의 Class1의 내용으로 조건부 컴파일 기호 별 출력 메세지가 변경됩니다
3. DLL 프로젝트의 조건부 컴파일 기호(DEVELOP 및 QUALITY를 사용하며 나머지는 OPERATION으로 사용합니다.)
4. DLL 프로젝트의 조건부 컴파일 별 폴더를 변경하기 위해 Post Build Event에서 해당 내용을 처리 합니다.
5. Main Project의 .csproj 파일이며 Text 편집기로 수동 편집하여야 합니다.
.csproj 파일을 Text 편집기로 열어 "<HintPath" 으로 검색하여 찾아 적용해 주시면 됩니다.
6. Main Project의 .csproj.user 파일이며 Text 편집기로 수동 편집하여야 합니다.
.csproj.user 파일을 Text 편집기로 열어 "<ReferencePath" 으로 검색하여 찾아 적용해 주시면 됩니다.
# 위 내용을 모두 적용한 경우 하기 내용과 같이 조건부 컴파일 기호를 변경할 경우 자동으로 변경 됩니다.
(* 1~4번은 5,6번 구성을 위한 내용입니다. 기본적으로 정의 되어 있다면 5번과 6번 항목만 적용해 주시면 됩니다. )
* 확인
# 1. 실제 실행하는 Main 프로젝트의 조건부 컴파일 기호가 OPERATION일 경우 참조된 DLL의 경로
# 2. 실제 실행하는 Main 프로젝트의 조건부 컴파일 기호가 QUALITY일 경우 참조된 DLL의 경로
* 전처리로 개발/품질/운영을 관리하는 거래처 때문에 새로 작성한 내용입니다.
일정에 쫒겨서 라는 핑계로 기존 개발된 자료 소스정리는 뒷전으로 미뤄 두었다가 이번에 담당자분이 바뀌면서 소스 정리 하신다길래 샘플로 작성한 내용 및 프로젝트 입니다.
* 샘플 프로젝트
1. POST Build Event, Pre Build Event
- Visual Studio의 경우 기본으로 define 으로 정의된 DEBUG와 TRACE가 있습니다. Post Build Event 및 Pre Build Event에서 사용되는 Script의 If string contain 확인 문제로 많이 헤메었습니다. ㅠ_ㅠ
(기본은 dos나 vba의 script와 비슷합니다.)
2. 참조한 DLL의 경로를 유동적으로 변경할 수 있습니다.
- 버전은 달라도 상관없으나 메서드나 클래스 구조는 동일한게 좋습니다.
( 빌드 이전에 IDE - Visual Studio - 에서 적용되는 거라 상관없습니다. )
'.Net Framework Standard > WindowsApplication' 카테고리의 다른 글
C# Winform - 마우스 포인터가 있는 모니터에 Form 열기 (0) | 2024.01.05 |
---|---|
ClickOnce - System.Security.SecurityException 오류 ( System.Threading.Thread.set_CurrentCulture) (0) | 2022.03.04 |
FormBoardStyle.None 일 때 Form의 이동 (0) | 2022.01.25 |
IIS 보안 적용시 ClickOnce 사용 - TLS (0) | 2017.08.02 |
Duplex Service 샘플 두가지 입니다. (0) | 2016.06.20 |