我正在使用BTSTask和BTSControl在BizTalk 2006上进行一些部署操作。我们转移到BizTalk 2009,这些工具似乎无法与BT2009一起使用。 BT2009有什么特定的版本或新工具吗?
答案 0 :(得分:1)
我会改为BizTalk Deployment Framework。它建立在MSBuild和WIX之上,完全可以实现从添加开发人员工具到快速部署开发以及通过WIX处理修补的所有功能。我强烈推荐它。
答案 1 :(得分:0)
我没有使用BTSTask或BTSControl的个人经验,但实际上我已经能够利用Team Foundation Server在BizTalk 2009上取得巨大成功。我基本上遵循下面概述的文章,然后从那里为我自己的环境进行自定义:
BizTalk 2009 - Build & Deploy automation with Team Foundation Server 2008 – Part 1
答案 2 :(得分:0)
我确实遇到了与BizTalk 2009相同的限制,但设法在PowerShell脚本中使用 Microsoft.BizTalk.ExplorerOM 。
停止和启动BizTalk应用程序的示例
(关注this excellent blog post on BizTalk Deployments with PowerShell)
param
(
[switch] $start,
[switch] $stop,
[string] $appName,
[string] $connectionstring
)
function Stop-Application
{
$app = $catalog.Applications[$appName]
if ($app -eq $null)
{
Write-Host "Application " $appName " not found" -fore Red
}
else
{
if ($app.Status -ne 2)
{
$null = $app.Stop(63)
$null = $catalog.SaveChanges()
$null = $catalog.Refresh()
Write-Host "Stopped application: " $appName -fore Green
}
else
{
Write-Host "Application: " $appName " already stopped" -fore Yellow
}
}
}
function Start-Application
{
$app = $catalog.Applications[$appName]
if ($app -eq $null)
{
Write-Host "Application " $appName " not found" -fore Red
}
else
{
if ($app.Status -eq 2)
{
$null = $app.Start(63)
$null = $catalog.SaveChanges()
$null = $catalog.Refresh()
Write-Host "Started application: " $appName -fore Green
}
else
{
Write-Host "Application: " $appName " already started" -fore Yellow
}
}
}
$null = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")
$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = $connectionstring
if ($catalog.Applications -eq $null)
{
Write-Host "Application catalog is empty" -fore Red
}
if ($start)
{
Start-Application
}
if ($stop)
{
Stop-Application
}
我们的BizTalk部署由MSBuild,BTSTask和ExplorerOM通过PowerShell驱动。在部署其他程序集(或端口)所依赖的程序集时,我甚至设法解决了这些问题。