首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对BizTalk 2009的BTSTask和BTSControl

针对BizTalk 2009的BTSTask和BTSControl
EN

Stack Overflow用户
提问于 2010-06-30 21:38:18
回答 3查看 1.1K关注 0票数 1

我正在使用BTSTask和BTSControl在BizTalk 2006上进行一些部署操作。我们迁移到了BizTalk 2009,而这些工具似乎不能与BT2009一起工作。是否有针对BT2009的特定版本或新工具?

EN

回答 3

Stack Overflow用户

发布于 2010-12-31 09:45:28

我会转而看一下BizTalk Deployment Framework。它建立在MSBuild和WIX之上,可以做任何事情,从添加开发人员工具到快速部署要开发的东西,再到通过WIX处理修补。我强烈推荐它。

票数 1
EN

Stack Overflow用户

发布于 2010-07-01 06:40:45

我没有使用BTSTask或BTSControl的个人经验,但我实际上已经能够利用Team Foundation Server在BizTalk 2009上取得巨大成功。我基本上遵循了下面概述的文章,然后在那里为我自己的环境定制了它:

BizTalk 2009 - Build & Deploy automation with Team Foundation Server 2008 – Part 1

票数 0
EN

Stack Overflow用户

发布于 2010-07-01 23:47:42

我在使用BizTalk 2009时遇到了同样的限制,但还是设法在PowerShell脚本中使用了Microsoft.BizTalk.ExplorerOM

停止和启动BizTalk应用程序的示例

(遵循this excellent blog post on BizTalk Deployments with PowerShell)

代码语言:javascript
复制
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驱动的。我甚至设法解决了部署其他程序集(或端口)所依赖的程序集时的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3149770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档