Please sign the assemblies

Sep 4, 2010 at 4:27 AM
Edited Sep 4, 2010 at 4:40 AM

Hi, very good work, I highly appreciate your abstraction, i.e. the simplified class interface. Keep it up, you rock.

Downloading prebuilt assemblies is fine, if they were signed (SNK), which you should do rather than everybody on its own.

Public key tokens are required in order to place the assembly into the GAC, for example when including them in SharePoint solutions.


Sep 7, 2010 at 3:17 AM

I consider signing assemblies (or any such specific requirements from an open source project) as the job of the downloading developer.

Sep 7, 2010 at 2:20 PM

Hi, thanks for answering.

Yes, basically that's the job of the user of the project, and once I got used to compiling the c++ source it was no problem to add a .SNK file and register it with the linker in the project properties.

The problem is - whenever there is an update, I have to do that again, and everybody who does so has a different SNK. On the other hand, if the project itself contained the SNK, the public-key-token would always be the same, thus allowing for referencing the assembly in the GAC and enabling easy update, especially when there are precompiled assemblies available.

However, I have no experience in the common practice regarding open-source projects and their custom extension. Now that I achieved to sign it, I like it either way ;].

Sep 8, 2010 at 6:51 AM


Please could you point me at instructions to sign the file? I would have usually thought it was done by the project, rather than the developer - I've tried (not very hard) by attempting to compile with a keyfile pointed to by the linker but I haven't done C++ in 6 years and it seems to need python and V8 assemblies - Do I need to get my build working? - Am I on the right track?

Sep 8, 2010 at 11:37 AM

Hi Luke,

yep, this is the exact problem I mean -- why would an ordinary user who just wants to use a project without further diving into or maintaining need to do this. This nice library could reach way more people, if it was easier to integrate into all these use-cases. I myself have never used C++, so this was kind of new to me.

Ok, here you go:

- you need the Source for the right platform
- you must have VS2008 with C++ installed
- you must have Python installed (I used 2.7, you also need to add its directory to the Path environment variable in System Properties)
- you need a .SNK (re-use your common strong-name-key file or call "sn.exe -k bla.snk" from the VS command prompt)
- open the Source, you should have 3 projects in the solution
- put the .SNK into the "[0] - Framework / Noesis.Javascript" project as a content-file
- then head to the properties of that project, section Linker > Advanced, and enter the file name as the 'Key File' property, e.g. 'bla.snk'
- compile the solution (release), should work if python is available and result in one signed assembly with a nice key token (check DLL with Reflector)

let me know if that works or whether I forgot to mention sth, just recalled what I did.

Sep 8, 2010 at 7:48 PM


The request is very reasonable and some effort will be made to sign the binaries. It will be available in our next release (0.4). It will deployed shortly.
We are thanking you for your great patience.


The Noesis Team


Sep 9, 2010 at 1:50 AM

Hey, great news, nice of you.
Thanks a lot.


Sep 13, 2010 at 6:39 AM

Many thanks.