Getting error on deployment with Itineries

Topics: Server Deployment
Dec 11, 2011 at 6:27 PM
Edited Dec 11, 2011 at 6:29 PM

Hi,

On new QA install I am getting this error:

 

 


C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bin>gacutil /i Microsof
t.Practices.Modeling.Services.dll
Microsoft (R) .NET Global Assembly Cache Utility.  Version 3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Failure adding assembly to the cache:   This assembly is built by a runtime newe
r than the currently loaded runtime and cannot be loaded.

C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bin>

Any Ideas would be appreciated.

Thanks

 

 

 

Target DeployEsbItineraries:

"C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\bin\EsbImportUtil.exe" /f:"..\ESB\Employee.Itenery.xml" /o /c:deployed

Could not load file or assembly 'Microsoft.Practices.Modeling.Services, Version=2.1.3869.21825, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

C:\Program Files (x86)\Deployment Framework for BizTalk 2010 - Employee\1.0\Deployment\Framework\BizTalkDeploymentFramework.targets(1864,5): error MSB3073: The command ""C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\bin\EsbImportUtil.exe" /f:"..\ESB\Employee.Itenery.xml" /o /c:deployed" exited with code 9.

Done building target "DeployEsbItineraries" in project "Employee.Integration.Deployment.btdfproj" -- FAILED.

Done building target "DeployBizTalkMgmtDB_true" in project "Employee.Integration.Deployment.btdfproj" -- FAILED.

Done building target "ServerDeploy" in project "Employee.Integration.Deployment.btdfproj" -- FAILED.

Done building target "Deploy" in project "Employee.Integration.Deployment.btdfproj" --

 

 I have searched and found this dll is part of the VS2010 SDK which would require me to install VS2012 on the qa server, not something I want to do. I have tried adding this dll from the developer machine to the deployment but getting an error on the gacutil:

Coordinator
Dec 12, 2011 at 12:30 AM

It's fairly common to have to copy and GAC a few of those Microsoft assemblies on your BizTalk servers, so you're doing the same thing that I've done in the past.  However, you're using ESB Toolkit 2.1 which is .NET 4.0 and trying to GAC it with the .NET 3.5 gacutil.  I'm not sure where you got that gacutil.exe from, but you need the .NET 4.0 version.  If you've installed any BTDF-packaged apps on the server, the correct gacutil.exe will be in the install folder under Framework\DeployTools.

Thanks,
Tom

Dec 12, 2011 at 4:21 PM

Hi Tom,

Thanks after looking into the issue it was using the windows sdk gacutil, modified to look at the deployment.... as these are required for the deployment is there a place i should gac these on startup of Deployment and is there a away I can check for the dll?

As this is only required on new installs is there a condition available or some way to determine if already in the gac?

 

Thanks

Coordinator
Dec 13, 2011 at 6:13 AM

If you wish, you can add them to an AdditionalAssemblies ItemGroup in your .btdfproj and they'll be installed on the server and GAC'd along with your BizTalk app.  If you install multiple apps, there's not really any ill effect other than that each one could re-GAC the DLL's.  No harm in that.

To detect the assemblies first would take a custom MSBuild task.  Not really worth it when re-GAC'ing doesn't cause any problems.

However, I sometimes consider this a machine configuration step rather than an app deployment step.  It's really part of the ESB Toolkit installation that the MS installer should do but doesn't, so I've sometimes just included these in new server setup instructions vs. individual BTDF apps.

Thanks,
Tom

Dec 13, 2011 at 1:15 PM

Thanks Tom,

Once again very helpful!!

 

Thanks