Skip to main content

XM Cloud - Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies

Hello Folks,

Today's blog post is to share one of the weirdest behavior i came across while working with Sitecore XM Cloud head repository.

I worked on it for couple of days, Created new projects for custom resolver and tested everything in local, and all the time i was using publishing profile and it was just working fine.

But out of the blue my local started getting below exception

Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)


Looking at error you generally match dll versions, web.config had different bindings and bin also had same file but somehow my docker->deploy->Platform->bin was getting 5.2.6.0 version instead of 5.2.7.0

but suddenly i realized, my docker->deploy->Platform->bin should only have those DLLs which are my custom code, my project DLLs but it had all DLLs and that broke the whole site

So actual issue was my docker->deploy->platform->bin folder should only have those file which are either of custom projects & platform DLLs, but in my bin i had all sorts of DLLs being copied, see below screenshot, Instead of all DLLs, it should only have my custom DLLs of project.


 

So, I tried below steps 

1) I cleared package manager cache

2) Removed all reference of the project from platform & again redeployed

3) I changed from debug to release in publish profile configuration like below 

<LastUsedBuildConfiguration>Release</<LastUsedBuildConfiguration>

3) Deleted BIN and changed the publish folder path in my config to something else instead of platform, as out of the clue just wanted to see there is nothing related to that, but with my surprise it only copied my custom DLLs

4) I cleaned the project and build it again & republished again, and the most wired thing, it copied all those DLLs again and again i run into DLL hell issue of YSOD

Out of the clue i reached out to SLACK channel & Sitecore support for this behavior and they acknowledged that it is a bug currently in publishing profile & if you do not change anything and deploy, it copies all the DLLs & publishing profile target's are not working as expected.

Following is my OOTB platform.wpp.targets file which shipped with head repository 

https://github.com/sitecorelabs/xmcloud-foundation-head


 

Issue is with line no.16 where the " <Target Name="ExcludeSitecoreAssemblies" AfterTargets="Compile">" 

If you remove that line completely and make sure to restart your visual studio and do Clean & Publish, it will not only copy needed DLLs and everything will work

So finally my wpp file looks like below (Make sure to restart VS studio after the change)

As you can see in above image Target node is removed and now if i close my visual studio and do clean & build and publish again, it is only copying needed DLL and no more DLL hell issues 


Key take away & solution

1) Target tag which is available OOTB in wpp file works unpredictable

2) Publishing profile is misleading because, Sometime it works when we apply filter only when compilation happened, if no changes to the project it will publish everything. 

3) You have to remove Target tag from the wpp file & restart visual studio to make it work. 

NOTE: This was registered as a bug in Sitecore bug tracking system and reference number for this bug is 582640

I hope this will help other do not end up in the same issue as i did


Comments

Popular posts from this blog

High CPU to completely normal CPU - SXA issue, SXA pages not loading in mobile device

  Hi Team, Today i am going to share one of the nightmarish issue with you all, We are having Sitecore 9.1.1 hosted in azure PaaS environment Our site was working just fine and no noise, but we have been working on a feature release where 7-8 months of development needed to be released to production, Big GO LIVE event right?  Also to make the development smoother we also introduced BLUE/GREEN deployment slots in the same release, so we can easily SWAP slots and go live Everything went well, we went live, we even did load and performance testing on our staging and pre-prod and we were confident enough of results Very next day we started getting "SITE DOWN" alerts, and also product owners and clients mentioned that site is very slow for them in US time and in our morning when we were accessing it, it was working lighting fast so we were clue less at start, but we started digging  1) First thing caught our eyes were HIGH CPU spikes, in US time, also without any traffic CPU u...

Error in Sitecore 10.3 XM with CDs - Could not find configuration node: database/database[@id='master']

Hi Team, Recently we came across two distinct scenarios with same error message.  1) We started getting below error when we try to hit our layout service API endpoint. If we hit end point of CM, it was working fine and when we try to hit end point of CD it was giving this error, It was clear there is something in backend expecting master DB instead of WEB DB In first scenario my colleague  Jatin  also got same issue while setting up docker instance for 10.3, and my friend  Akshay Barve  and I had the same observation. 2) Second scenario I was having the same exception, It was another project on 10.3 XM with CD, It was one of the migration project so we were migrating from 10.2 to 10.3, Older site was not giving any error but new site the moment we hit, it was giving same exception in the log Issue in second scenario was in site grouping there was only site and both CM and CD URLs were given in host name and had WEB db as database, so basically there was no previ...

Experience Analytics not working

Hello Sitecorian, How many of you have encountered an error or the situation where graph on the experience analytics dashboard or graph on launchpad's dashboard is not working I recently encountered with this scenario where i was presented with the situation where simply graph was not coming up, Before digging completely into it and checking logs and everything, From very first high level thoughts pointed me to check Is the valid certificate is used for xconnect? Are thumbprints are correct in all configs ? We had scaled environment so i needed to check the thumbprint in all the needed roles. Is xconnect site is accessible from CD? Without any https exceptions? Is XDB is enable?  Is Tracking is enable?  Everything looked ok on first place, so i finally took my sleeves up and started digging into details, Below are the details steps and exceptions those were captured and i will also show you the topology of instances we were using. Scaled instance We are using...