Frequently Asked Questions:

Q: I upgraded to a new version and now my <Components, Orchestrations, Schemas, App References, etc.> don't deploy any more. Why?

A: Some of the structures in the .btdfproj file changed in 5.0.12. Please see the release notes page.

Q: How do I set up my binding file for the first time?

A: See Working with Bindings Files

Q: How do I upgrade my settings workbook (SettingsFileGenerator.xls) from a Deployment Framework version prior to 3.1 to version 4.0+?

A: As of Deployment Framework V3.1, the default format of the settings workbook was changed from Excel binary format to SpreadsheetML 2003 (XML) and the file was renamed to SettingsFileGenerator.xml. The new workbook does not include any macros, and has slightly different formatting. If the old workbook is simply saved as XML, the XML may include formatting and print areas that breaks the settings exporter tool.

The recommended upgrade path is to start with a fresh copy of the new workbook, re-enter the appropriate environment columns, and copy and paste the setting names and values from the old worksheet to the new worksheet:
  1. Install the latest version of the Deployment Framework
  2. Locate any copy of SettingsFileGenerator.xml from one of the sample applications (such as Advanced or BasicMasterBinding) included with the Deployment Framework
  3. Copy the SettingsFileGenerator.xml from the sample to your existing solution's <project>.Deployment\EnvironmentSettings (V5.0+) or \EnvironmentSettings (V3.1-4.x) folder
  4. Open SettingsFileGenerator.xml from your project folder using Excel 2003 or newer. Notice that the overall format is essentially the same as the old binary format. Delete any existing setting names and values.
  5. Open your original SettingsFileGenerator.xls. Make note of your environment column settings -- filenames, environment names, etc. Close the file.
  6. Open SettingsFileGenerator.xml from your project folder in Excel. Add or remove environment columns as necessary and change their settings to match your old spreadsheet. Save and close the file.
  7. Open your original SettingsFileGenerator.xls. Select all of your setting names and all of the corresponding values in the environment columns. Copy the region.
  8. Open SettingsFileGenerator.xml from your project folder in Excel. Paste the region into the new worksheet over the same area as in the original worksheet. Save and close the file.

Q: What do I do if I'm getting file not found errors for BizTalkDeploymentFramework.targets or errors related to $(DeploymentFrameworkTargetsPath)?

A: You probably didn't rename your solution and BizTalk project configuration names. If you are using BizTalk 2009 or newer, this does not apply to you. For previous versions, you MUST use the Configuration Manager dialog in Visual Studio to modify the default configuration names. BizTalk before BT2009 uses non-standard configuration names: Development and Deployment. The Deployment Framework requires these to be renamed to match C# (and most other) naming standards: Debug and Release. To do this, open your solution and select it, then choose the Configuration Manager option. Make sure that your solution configuration name AND your BizTalk project configuration names have ALL been renamed from Development to Debug and Deployment to Release.

Q: My binding file imported successfully, but when the application attempts to start I get an error like this: "Could not enlist Send Port '<PortName>'. Exception from HRESULT: 0xC00CE557". What did I do wrong?

A: You probably didn't do anything wrong, but Visual Studio or another XML editor may have "helpfully" reformatted portions of your binding file ever so slightly -- but that can be enough to cause problems in BizTalk. Open your binding file in a text editor and look for any <Filter> elements. Verify that the nested XML inside the <Filter> element begins on the same line as the <Filter> element itself!

This is NOT correct:
  &lt;?xml version="1.0" encoding="utf-16"?&gt;
  &lt;Filter xmlns:xsi="" xmlns:xsd=""&gt;
  &lt;Statement Property="BTS.ReceivePortName" Operator="0" Value="APortName" /&gt;
This IS correct:
<Filter>&lt;?xml version="1.0" encoding="utf-16"?&gt;
  &lt;Filter xmlns:xsi="" xmlns:xsd=""&gt;
  &lt;Statement Property="BTS.ReceivePortName" Operator="0" Value="APortName" /&gt;

Q: I want to look at the BizTalk 2006 samples, but they seem to be missing some files. Where are they?

A: Before using the sample applications for BizTalk 2006, open each sample's folder in Windows Explorer and run the PrepareSample.bat batch file.

Q: How do I determine which version of the Deployment Framework is installed?

A: Open Add/Remove Programs. On Windows prior to Vista, select the Deployment Framework for BizTalk item, then click the "Click for support information" link. The specific version number will appear. On Windows Vista or later, add the Version column to the default list view and locate the Deployment Framework for BizTalk item.

Q: I used the Add New Project wizard to create a deployment project, but no matter what I do the project isn't showing up in my solution! What's wrong?

A: Nothing is wrong. The Deployment Framework's Visual Studio add-in doesn't implement a full-blown project like C#, VB, etc. That's very complicated to implement and there will probably never be enough time to build such a complex add-in. All that's important is that you have the Deployment Framework project folder under your BizTalk solution root. If you want to see the project files in your solution, just use the Add Existing Item command on your solution to include them as you would any other file. If you used the Add New Project wizard to create a project, that's all you need to do. (Note, however, that the Deployment project folder should be named Deployment or <solutionNameNoExtension>.Deployment.)

Q: My BizTalk projects contain a mix of artifact types, for instance one that contains maps, orchestrations and schemas. How do I know which type of ItemGroup to use?

A: The compiled (.btproj) artifact types that really need to go into their own specific ItemGroup are pipeline components, C# helper components and functoids. When you're talking about the basic compiled BizTalk artifacts, namely schemas, maps, orchestrations and pipelines:

If an assembly contains any schemas then always put it in a Schemas ItemGroup. You can also put a mixed map/orch/pipeline assembly in Schemas, but you will lose the ability to add PDB's to the GAC (which is an optional feature anyway). If you want to preserve that feature, you could add the mixed map/orch/pipeline assemblies to a Pipelines or Transforms or Orchestrations ItemGroup. They execute in that specific order, so if you have particular dependencies you may need to use an earlier or later one.

Last edited Jul 26, 2012 at 6:28 AM by tfabraham, version 19