我想使用像 web deploy 这样的 Cruisecontrol.net 来转换我的基本 Web 配置文件,使用调试或发布适配来转换配置文件。我知道 Cruisecontrol.net 使用了一种叫做 nAnt 的东西,但我不知道如何利用现有的配置文件转换,比如 Cruisecontrol.net 中的这种转换。有没有办法利用这些转换?
还有一种方法可以在巡航控制中利用网络部署,还是以某种方式违反规则?
我想使用像 web deploy 这样的 Cruisecontrol.net 来转换我的基本 Web 配置文件,使用调试或发布适配来转换配置文件。我知道 Cruisecontrol.net 使用了一种叫做 nAnt 的东西,但我不知道如何利用现有的配置文件转换,比如 Cruisecontrol.net 中的这种转换。有没有办法利用这些转换?
还有一种方法可以在巡航控制中利用网络部署,还是以某种方式违反规则?
Cruise Control 不知道如何执行此操作,但msbuild可以通过包含 Web 应用程序目标文件 ( Microsoft.Web.Publishing.Tasks.dll
);这些随 Visual Studio 一起提供 - 也可能是 WebDeploy - 并达到与 WebDeploy 相同的结果。
然后,您可以编写一个简单的 msbuild 项目 (.proj),或者在 .csproj/.vbproj 中编写一个任务来调用转换。
例如(来自http://www.diaryofaninja.com/blog/2011/09/14/using-custom-webconfig-transformations-in-msbuild)
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<Target Name="TransformWebConfig">
<TransformXml Source="C:\Code\MyProject\Web.config" Transform="C:\Code\MyProject\TransformFile.config" Destination="C:\Code\MyProject\Web.config" StackTrace="true" />
</Target>