Error using CryptoLicensing
MidSilence
Posts: 7
Hello!
I'm using CryptoLicensing with Smartassembly and I've got some errors.
In VS2008 design-time, referenced CryptoLicensing assembly works perfect and builds the project. I can see assembly details.
When using Smartassembly, it adds multiples assemblies in project as follows:
SA 4.2
SA 5.1
When I build SA project, I'got an invalid token accessing an enum from CryptoLicensing. I think SA is using the wrong assembly to build the project. I've tried the SA.com (command prompt) with no success.
Is there some way to force which assembly to use? Any ideas to solve this?
Thanks!
I'm using CryptoLicensing with Smartassembly and I've got some errors.
In VS2008 design-time, referenced CryptoLicensing assembly works perfect and builds the project. I can see assembly details.
When using Smartassembly, it adds multiples assemblies in project as follows:
SA 4.2
<Assembly AssemblyName="LogicNP.CryptoLicensing, Culture=neutral, PublicKeyToken=4a3c0a4c668b48b4" /> <Assembly AssemblyName=""> <Merging /> <Embedding /> </Assembly> <Assembly AssemblyName=", Culture=neutral, PublicKeyToken=null" />
SA 5.1
<Assembly AssemblyName="LogicNP.CryptoLicensing, Culture=neutral, PublicKeyToken=4a3c0a4c668b48b4"> <Merging /> </Assembly> <Assembly AssemblyName=", Culture=neutral, PublicKeyToken=null"> <Merging /> </Assembly>
When I build SA project, I'got an invalid token accessing an enum from CryptoLicensing. I think SA is using the wrong assembly to build the project. I've tried the SA.com (command prompt) with no success.
Is there some way to force which assembly to use? Any ideas to solve this?
Thanks!
Comments
Try the latest EAP of SA 5.5, there have been lots of improvements in this area.
http://www.red-gate.com/MessageBoard/vi ... .php?f=116
If not, you can force which assembly to use using MandatoryPath. Details are here:
http://www.red-gate.com/supportcenter/C ... 032210.htm
Developer,
Red Gate .NET Tools
What happened is that SA doesn't recognize CryptoLicensing assembly correctly (the assembly is already obfuscated). It always found the assembly with wrong name.
If I use MadatoryPath with the AssemblyName = "LogicNP.CryptoLicensing, Culture=neutral, PublicKeyToken=4a3c0a4c668b48b4" I've got an error saying that the path assembly is not the same as its name. But, if I use AssemblyName = ", Culture=neutral, PublicKeyToken=null" SA founds the assembly but doesn't compile.
Since SA always rescan the dependencies I can't change project file to force to use the correct name; it always change the project creating 2 or 3 items with worng names in the SA project as I said before.
I'm still looking for a solution for this.
Thanks!
Download CryptoLicensing (http://www.ssware.com/cryptolicensing/c ... ng_net.htm), install it, create an console project in Visual Studio and add the reference to LogicNP.CryptoLicensing.dll.
After, create a new SA 4/5 project and select the new console project .exe.
You'll see that SA 4/5 cannot read the CryptoLicensing assembly correctly, adding 3 assemblies in SA project file and show one empty item (item with no caption/text) on SA assembly dependencies list.
That's it.
The next EAP will read the first Assembly metadata item instead of the second, the same as the CLR does. This means that you can process your assembly.
Developer,
Red Gate .NET Tools
I'm waiting for the new EAP.
Sorry I didn't make myself clear in older posts.