BTS Scheduled Task Adapter – Could not load file or assembly ‘Microsoft.BizTalk.Scheduler’

Ive recently been working with the scheduled task adapter and BizTalk 2013 and there was an interesting but unusual scenario.

When I build the first developer machine in a lab it all worked fine and the adapter was performing as expected.  When I build the build server I got the following error when the build ran.

Could not load file or assembly ‘Microsoft.BizTalk.Scheduler, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The system cannot find the file specified.

The scenario was Windows 2012 Data Center Edition as an Azure VM running in a domain I build within Azure.  Looking at other machines I’ve build it seems like the Microsoft.BizTalk.Scheduler assembly isnt in the GAC by default (well certainly on the BizTalk 2013 Standard Edition machines i’ve checked).

I’ve spoken to Sandro and we are investigating this but in the meantime you can work around this issue by simply adding the assembly to the GAC.  Below is a Powershell snippet which can do it for you since a clean Windows 2012 without Visual Studio or the SDK doesnt have GacUtil.

 

[System.Reflection.Assembly]::Load(“System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”)

$publish = New-Object System.EnterpriseServices.Internal.Publish

$publish.GacInstall(“F:\Program Files (x86)\Microsoft BizTalk Server 2013\Microsoft.BizTalk.Scheduler.dll”)

 

Ill update the post with details once we have more info and potentially a fix.