Resources dependencies problem

Hi All,

I have a BizTalk application called "ABC.Schemas" which only has the common schemas used across ABC.Ideally,it will be referenced by many more projects ,as it is the place holder for common schemas.

I have referenced the ABC.Schemas.dll in other Maps / Orchestrations projects & they are also deployed as ABC.Maps / ABC.Orchestrations applications.

Now , whenever I make any changes to the  ABC.Schemas.dll (add new schema/update existing schema) & try to deploy it again (which in VS terms updating the assembly) , It is not allowing me to do .

It is giving an error saying

Error 4 Failed to add resource(s). Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Cannot update assembly "ABC.Schemas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=152f7997c4196b82" because it is used by assemblies which are not in the set of assemblies to update.
To update the assembly, remove the following assemblies:
ABC.Maps / ABC.Orchestrations , Version=1.0.0.0, Culture=neutral, PublicKeyToken=132f7997c4196b82  0 0

So , How do i resolve this ? Do i need to delete resouces manually every time ? for  ABC.Maps / ABC.Orchestrations , every time I make a change to the common ABC.Schemas ?

I do understand that this error comes because there are entery for this Schema allready there in GAC...and there are two way to remove that enetry 1) manully, which i am doing 2) Is there a way to remove this by using script ?

I am doing correct ?

How do I acheive Loosly coupling here ? Please provide your Input .

Thanks & Regards

Nilesh Thakur.

May 3rd, 2013 10:09am

HI Nilesh,

here is one chance, if your codeplex deploymnet, use the undeploy option .

Thanks

Free Windows Admin Tool Kit Click here and download it now
May 3rd, 2013 11:40am

Hi Nilesh

go to project properties -

click on build events .

write inside Post Build event command line

"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil" /nologo  /i "$(TargetPath)" /f

.

This will update the dll in GAC when you change in SChema and build.

Regards

Mohit Gupta

May 3rd, 2013 11:48am

I would recommend you to do the deployment using the scripts the following are two most popular options, learning these is not that difficult and it will make deployment lot easier.

1. PowerShell Provider BizTalk

2. Deployment Framework for BizTalk (BTDF)

Free Windows Admin Tool Kit Click here and download it now
May 4th, 2013 11:05am

When I trip on this, it's usually one of two things.

1. A referencing (consumer of a schema) Project's Deploy option is not checked in selected Build Configuration.

2. The applications are in different Applications in BT Admin.  The Deploy process in Visual Studio doesn't handle that scenario too well.  Use one Application for DEV and let the PROD installer split as necessary.  Applications are simply a convenience in BT Admin, the artifacts are not actually partitioned in any way.

If you are simple modifying the content of a Schema, and not any of the first class properties (Root name, namespace, typename) you can get away with reGAC'ing only in a DEV environment.

May 4th, 2013 6:56pm

Hi,

In TechNet Wiki article BizTalk: List of Errors and Warnings, Causes and Solutions you can find this and many other BizTalk related errors.

Kind Regards,

Steef-Jan Wiggers

MVP & MCTS BizTalk Server 2010

http://soa-thoughts.blogspot.com/ |@SteefJan

If this answers your question please mark it accordingly

BizTalk Server 2010 Cookbook

Free Windows Admin Tool Kit Click here and download it now
May 7th, 2013 12:28pm

When it is possible to re-GAC assembly without full redeployment?

I would copy a text from the BTDF Help:

"...

The Quick Deploy option is appropriate when you've made changes that are "internal" to your BizTalk artifacts and not directly visible to BizTalk.


Common changes that are compatible with this command include:

  • changing Expression shape code
  • adding or removing (most) shapes inside an orchestration
  • changing code inside an existing .NET helper method
  • changing links or functoids within an existing map


Examples of common changes that are visible to BizTalk and are incompatible with this command include:

  • changing ports in an orchestration
  • changing the source or destination schemas in a map
  • changing schema namespace or root node properties
  • changing a property schema

..."

Also I would recommend to study the generics about the BizTalk deploymen

May 8th, 2013 2:00am

The BizTalk project assemblies also need to be re-deployed when BizTalk artifacts are added or removed from an assembly so the management database tables can be updated.

Free Windows Admin Tool Kit Click here and download it now
May 8th, 2013 4:57pm

Try deploying using the scripts, as the Deploy process in Visual Studio doesn't handle that scenario too well.

Ref- http://biztalkdeployment.codeplex.com/

May 31st, 2013 11:30pm

Hi Nilesh,

Before deploying schema application you should remove the references and after deploying schema application you have to add reference once gain.Then you will not get this Error.

Thanks

Manoj

Free Windows Admin Tool Kit Click here and download it now
June 19th, 2013 1:28pm

What you could do is increase the assembly version :-), or alternatively change the snk key

But in this case you need to update your maps to reference the updated version of the assembly

Once all the maps have updated, then you can remove safely the old one

June 25th, 2013 4:13pm

BTW If all projects are in the same solution, you can just Deploy solution and the VS + BizTalk take care of all correct deployment order. :)
Free Windows Admin Tool Kit Click here and download it now
July 2nd, 2013 7:33pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics