ItemGroup guidelines

Topics: General Questions, Getting Started/Beginner
Jun 24, 2011 at 8:49 PM
Edited Jun 24, 2011 at 8:49 PM

Hi all,

Is there any guidelines on <ItemGroup> section if the solution doesn't follow the default structure?

Specifically, how to configure a soultion with mixed project structure:

  • MyProject.SharedSchemas (will be as <Schemas Include...>)
  • MyProject.SharedOrchestrations (will be as <Orchestrations Include...>)
  • MyProject.System1.Schemas (will be as <Schemas Include...>)
  • MyProject.System1.Incoming (can have maps, pipelines, orchestrations so will be as <???? Include...>)
  • MyProject.System1.Outgoing (can have maps, pipelines, orchestrations so will be as <???? Include...>)
  • MyProject.System2.Schemas (will be as <Schemas Include...>)
  • MyProject.System2.Incoming (can have maps, pipelines, orchestrations so will be as <???? Include...>)
  • MyProject.System2.Outgoing (can have maps, pipelines, orchestrations so will be as <???? Include...>)

Btw, is BTDF smart enough to determine project dependancies?

Coordinator
Jun 27, 2011 at 6:17 PM

The artifact types that really need to go into their own specific ItemGroup are pipeline components, C# helper components, functoids, rules, etc.  When you're talking about the basic 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 the mixed map/orch/pipeline assemblies 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 Pipelines or Transforms or Orchestrations.  They execute in that order, so if you have particular dependencies you may need to use an earlier or later one.

The Deployment Framework does not include any automatic dependency analysis.

Thanks,
Tom

Jun 27, 2011 at 6:21 PM

Thanks, that really helps.

Would be nice to have it described in the manual.