당신은 일반적으로 "XML-Document-Transform Syntax"을 사용할 수 있습니다 사용하는 구성의 어느 부분 집합 감지하는 런타임에 논리를 사용,이 구문 IST는 웹에서 사용하기위한 것 모든 종류의 프로젝트에서 사용할 수 있도록 조정할 수 있습니다.
TransformXml-Task를 추가/업데이트하여 프로젝트 파일 (예 : .csproj)을 수정해야합니다. 아래 예에서 변환은 Appilation에서 변환을 적용하여 편집 중에 실행됩니다. 보시다시피, 작업은 $ (구성) 변수를 참조하므로 변환 명령이 저장됩니다. App.DEBUG.config 또는 App.RELEASE.config에 있습니다. 이것을 원하는 msbuild 변수로 변경할 수 있습니다. 올바르게 기억한다면 $ (COMPUTERNAME)이므로 변환을 App.MyMachineName.config에 배치해야합니다.
<UsingTask TaskName="TransformXml"
AssemblyFile="C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<Target Name="AfterBuild">
<!-- use App.$(COMPUTERNAME).config for specific machine configuration -->
<TransformXml Source="App.config"
Condition="Exists('App.$(Configuration).config')"
Transform="App.$(Configuration).config"
Destination="$(OutDir)$(AssemblyName).dll.config"/>
</Target>
전체 설명은 german blog입니다.
는 기계 특정 구성의 모습 that`s : 또는
<?xml version="1.0"?>
<!-- "App.MyMachineName.config" - File name corresponds to the transformation task -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="MyDbConnection"
connectionString="Data Source=MyServer;Initial Catalog=MyDb;"
providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
, 당신이 사용할 수있는 XSL Syntax
당신 수 오프 기회에,'configSource'에서 환경 변수를 포함하십시오 ' ' –
Cocowalla