All Assemblies not found in BizTalk 2010 and above

Recently I experienced an a very common issue the artifact
not found or the DLL not found issue in my BizTalk Server Environment. But the
dll/artifacts not found error occurred not for one artifact/dll but for each
and every artifact/dll.

This environment had all the artifacts/dlls deployed and
which was working fine earlier. There is high probability that I wouldn’t have
removed all the dll from GAC or undeployed all the artifacts.

“Verify the schema
for this document specification is deployed and is in the Global Assembly Cache”

and other kind of Assembly not found errors.

Took a procmon traces and found the BizTalk Process
BTSNTSVC.exe is pointing out to C:\Windows\Assembly
which is old GAC and not the new GAC.

 
  

This issue can occur if the BTSNTSvc.exe is pointed to the old
CLR version which uses the
C:\Windows\Assembly instead of the new one BizTalk C:\Windows\Microsoft.NET\assembly. Forcing the BizTalk to searching
in old assembly path where the BizTalk dlls are not present.

BTSNTSVC.exe is pointed to new CLR version using tag < supportedRuntimeversion = " v4.0 " /> in BTSNTSVC.exe.config file.

Either removing the above entry or if the
BTSNTSVC.exe.config file doesn’t exist, you will encounter the above issue.
When btsntsvc.exe.config file is not present/renamed the btsntsvc.exe uses the
CLR2.0 Version.

.Net Framework and its CLR Version below. Since we have
different CLR version from framework 4.0 onwards, we have 2 different GAC.

.NET Framework version

Includes CLR version

1.0

1.0

1.1

1.1

2.0

2.0

3.0

2.0

3.5

2.0

4

4

4.5 (including 4.5.1 and 4.5.2)

4

 

Hope this helps!!