SlowCheetah 플러그인을 사용하십시오 . 더 많은 옵션과 SlowCheetah 사용 방법에 대한 자세한 내용은 계속 읽으십시오.
이미 알고 있듯이 라이브러리 유형 (.dll) 프로젝트에 대해 다른 구성 파일을 사용하는 기본적이고 쉬운 방법은 없습니다 . 그 이유는 현재 생각이 "당신은 그럴 필요가 없습니다"입니다! 프레임 워크 개발자는 콘솔, 데스크톱, 웹, 모바일 앱 등 실행 파일에 대한 구성이 필요하다고 생각합니다. dll에 대한 구성을 제공하기 시작 하면, 구성 지옥 이라고 부를 수있는 것으로 끝날 수 있습니다 . 왜이 변수와 그 변수가 아무데도없는 것처럼 보이는 이상한 값을 갖는 이유를 더 이상 (쉽게) 이해하지 못할 수 있습니다.
"잠깐만"는 - 당신은 말할 수 있습니다 "하지만 난 내 통합 / 단위 테스트이 필요하고, 그것이 도서관!". 그리고 그것은 사실이며 이것이 당신이 할 수있는 일입니다 (하나만 선택하고 섞지 마십시오) :
1. SlowCheetah-현재 설정 파일 변환
모든 저수준 XML 포킹 (또는 변환)을 수행하는 Visual Studio 플러그인 인 SlowCheetah 를 설치할 수 있습니다 . 작동 방식, 간단히 :
- SlowCheetah를 설치하고 Visual Studio를 다시 시작합니다 (Visual Studio> 도구> 확장 및 업데이트 ...> 온라인> Visual Studio 갤러리> "Slow Cheetah"검색).
- 솔루션 구성을 정의합니다 ( 디버그 및 릴리스 는 기본적으로 있음), 더 추가 할 수 있습니다 ( 솔루션 탐색기 > 구성 관리자 ... > 활성 솔루션 구성 > 새로 만들기 ... 에서 솔루션을 마우스 오른쪽 버튼으로 클릭 ...
- 필요한 경우 구성 파일 추가
- 구성 파일> 변환 추가를 마우스 오른쪽 단추로 클릭하십시오.
- 그러면 구성 당 하나의 변환 파일이 생성됩니다.
- 변환 파일은 인젝터 / 뮤 테이터로 작동하며, 원래 구성 파일에서 필요한 XML 코드를 찾아 새로운 라인을 삽입하거나 필요한 값을 변경합니다.
2. .proj 파일로 바이올린 연주-완전히 새로운 구성 파일을 복사-이름 변경
원래 여기 에서 가져 왔습니다 . Visual Studio .proj 파일에 포함 할 수있는 사용자 지정 MSBuild 작업입니다 . 다음 코드를 프로젝트 파일에 복사하여 붙여 넣습니다.
<Target Name="AfterBuild">
<Delete Files="$(TargetDir)$(TargetFileName).config" />
<Copy SourceFiles="$(ProjectDir)\Config\App.$(Configuration).config"
DestinationFiles="$(TargetDir)$(TargetFileName).config" />
</Target>
이제라는 프로젝트에 폴더를 만들고 App.Debug.config , App.Release.config 등의 Config
새 파일을 추가 합니다. 이제 구성에 따라 Visual Studio는 폴더 에서 구성 파일을 선택 하고 출력 디렉터리에 복사하여 이름을 바꿉니다. 따라서 PatternPA.Test.Integration 프로젝트와 디버그 구성을 선택한 경우 빌드 후 출력 폴더 에서 나중에 복사되어 이름이 변경된 PatternPA.Test.Integration.dll.config 파일을 찾을 수 있습니다.Config
Config\App.Debug.config
다음은 구성 파일에 남길 수있는 몇 가지 참고 사항입니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- This file is copied and renamed by the 'AfterBuild' MSBuild task -->
<!-- Depending on the configuration the content of projectName.dll.config
is fully substituted by the correspondent to build configuration file
from the 'Config' directory. -->
</configuration>
Visual Studio에서 다음과 같은 것을 가질 수 있습니다.
3. Visual Studio 외부에서 스크립팅 파일 사용
각 빌드 도구 (예 : NAnt , MSBuild )는 구성에 따라 구성 파일을 변환하는 기능을 제공합니다. 이는 릴리스를 위해 제품을 준비하는 내용과 방법에 대해 더 많은 제어가 필요한 빌드 머신에서 솔루션을 빌드하는 경우 유용합니다.
예를 들어 웹 게시 dll의 작업을 사용하여 모든 구성 파일을 변환 할 수 있습니다.
<UsingTask AssemblyFile="..\tools\build\Microsoft.Web.Publishing.Tasks.dll"
TaskName="TransformXml"/>
<PropertyGroup>
<!-- Path to input config file -->
<TransformInputFile>path to app.config</TransformInputFile>
<!-- Path to the transformation file -->
<TransformFile>path to app.$(Configuration).config</TransformFile>
<!-- Path to outptu web config file -->
<TransformOutputFile>path to output project.dll.config</TransformOutputFile>
</PropertyGroup>
<Target Name="transform">
<TransformXml Source="$(TransformInputFile)"
Transform="$(TransformFile)"
Destination="$(TransformOutputFile)" />
</Target>