2011-05-06 8 views
0

나는 많은 ENVIRONNEMENT 내 솔루션을 구축해야한다 (dev에, 준비, ..)WebConfig 교체 CruiseControl.Net

2 옵션 : 단지 섹션의 전체 파일을 대체합니다. 둘 중 하나에 대한 해결책이 인정 될 것입니다.

appSettings.Staging.config, appSettings.Dev.config, connectStrings.Dev.config, connectStrings.Staging.config의 4 가지 파일을 만들었습니다.

배치 중에 web.config의 해당 섹션을 바꾸려고합니다. 인수 :

내 MSBUILD 섹션 내가 "구성 = 스테이징/P"를 검색 할 수있는 방법이

<msbuild> 
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable> 
    <workingDirectory>C:\Travail\erp.visual.webapp.erpportal</workingDirectory> 
    <projectFile>erp.visual.webapp.erpportal.sln</projectFile> 
    <buildArgs>/p:ProjectFile=$SolutionFile$ /t:TransformWebConfig /p:Configuration=Staging</buildArgs> 
    <targets>Build</targets> 
    <timeout>900</timeout> 
    <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    </msbuild> 

처럼 보인다? 나는 다음을 시도한다

<ItemGroup Condition=" '$(Configuration)' == 'Staging' "> 

     <WebConfigReplacementFiles Include="appSettings.Staging.config"> 
     <Section>appSettings</Section> 
     </WebConfigReplacementFiles> 

     <WebConfigReplacementFiles Include="connectionStrings.Staging.config"> 
     <Section>connectionStrings</Section> 
     </WebConfigReplacementFiles> 

    </ItemGroup>   

그러나이 섹션을 ccnet.config에 어디에 넣어야합니까?

답변

-1

이 방법이 있습니다. 나는 environnement 당 web.config를 가지고있다. web.staging.config, web.test.config. web.uat.config 그래서 내을 ccnet.config 파일에서

내 build.xml 파일에서
<nant> 
    <executable>C:\nant\bin\nant.exe</executable> 
    <baseDirectory>C:\Travail\erp.visual.webapp.erpportal</baseDirectory> 
    <nologo>false</nologo> 
    <buildFile>C:\Program Files\CruiseControl.NET\server\build.xml</buildFile> 
    <targetList> 
    <target>buildAll</target> 
    </targetList> 
    <buildTimeoutSeconds>60000</buildTimeoutSeconds> 
    </nant> 

내가 대상 태그에 NANT에서 파일 복사 태그를 사용

<copy file="${root.dir}\erp.visual.webapp.erpportal\web.staging.config" 
     tofile="${deploy.web.dir}\Web.config" 
     overwrite="true" 
     inputencoding="latin1" 
     outputencoding="utf-8"> 
</copy>