我必须在许多环境中部署我的解决方案(开发、试运行等)
2个选项:替换仅包含部分的整个文件。他们中的任何一个的解决方案都将不胜感激
我做了4个不同的文件: appSettings.Staging.config,appSettings.Dev.config,connectStrings.Dev.config,connectStrings.Staging.config。
我想在部署期间替换web.config中的这些部分。
我的msBuild部分如下所示
<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>如何检索"/p:Configuration=Staging“参数?我试过了
<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中的什么位置呢?
发布于 2011-05-11 21:32:49
找到一种方法来做到这一点。我在每个环境中都有一个web.config。web.staging.config,web.test.config.web.uat.config等
在ccnet.config文件中
<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>在我的build.xml文件中,我在目标标记中使用了来自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>https://stackoverflow.com/questions/5915996
复制相似问题