I’m using Octopus.Client dll in one of our .net code to change the value of a variable under library variable set in Octopus. But when I add the .net component as an reference to my biztalk orchestration application, while deploying it gives the error as :
“Octopus.Client.dll should be strong named”
I have used the below command to strong name the dll using visual studio command prompt :
SN -k MyKeyPair.snk
ILDASM Octopus.Client.dll /out:Octopus.Client.il
ILASM Octopus.Client.il /dll /resource=Octopus.Client.res /key=MyKeyPair.snk
This time the Biztalk Orchestration applications gets deployed but while testing it gives the error as :
Could not load file or assembly ‘Octopus.Client, Version=188.8.131.52, Culture=neutral, PublicKeyToken=’ or one of its dependencies. The system cannot find the file specified.
Could you suggest on the above.
Just wondering if you put the Octopus.Client.dll into the GAC (Global Assembly Cache) after you strongly signed it?
I have a feeling BizTalk is trying to find the DLL there. (you need strongly signed DLLs in the GAC).
Thanks for your response.
Yes, The Octopus.Client.dll is GAC.
Besides, Octopus.Client dll there are other dependent dlls , which were also added as reference and GAC.
a) Octopus.Platform.dll (Strong name required)
b) Newtonsoft.Json.dll (Strong name not required)
c) Sprache.dll (Strong name required)
d) Mscorlib.dll (Strong name not required)
e) System.dll (Strong name not required)
f) System.Core.dll (Strong name not required)
But still we were getting the same error.
Hmm if it is in the GAC, I am unsure what else it could be without seeing more of your solution.
I am curious though, why a BizTalk application for changing an Octopus variable value? You could easily do this via a PowerShell script or calling the oct client directly?