Strong name sign missing?

Sep 16, 2009 at 3:09 PM



The current binary on the download page seems to miss the strong name sign. Is that correct? I have found a number of threads in the past where it returned into a work item. Did I just miss it or is the strong name sign missing?


Thanks in advance.

Sep 16, 2009 at 3:32 PM
Edited Sep 16, 2009 at 3:32 PM

Ahh, yes... v1.8.4.23 is missing the strong name.

A bug in my release script that I introduced not long ago.  I will get that fixed.

Thanks for pointing this out.

Sep 16, 2009 at 3:33 PM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.
Sep 17, 2009 at 7:34 AM

Thanks again, keep up the good work!

Sep 21, 2009 at 11:26 AM
Edited Sep 21, 2009 at 11:37 AM

I see you have uploaded a new version (uploaded friday, build time 16/09/09, 18:36), but it looks like the strong name sign is still missing. Did I get the correct file? Thanks in advance.

Sep 21, 2009 at 7:49 PM

A mystery!  I love a good mystery.  To solve this one, I want you to answer four questions for me, and no cheating.  Answer them all, please:

  1. What specific URL are you using to download? 
  2. What file are you downloading? (the name of it)
  3. What DLL is missing the strong name?  Ionic.Zip.dll? Ionic.Zip.Reduced.dll? 
  4. how did you conclude that it is missing the strong name?


Here are my answers to those questions.  I just downloaded the devkit zip, file  To check the assembly name, I have a custom-built tool that loads a DLL and inspects it, and prints out the strong name.  This is what I got:

c:\Desktop\delete-me>assemblyversion DotNetZip-v1.8\Release\Ionic.Zip.dll
Ionic.Zip, Version=, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c

As you can see the public key token there is my token. 

I also tried this with the Runtime zip, downloaded from the same page.  I got the same results (same DLL, same strong name).

Why am I getting different results from you?  I think if we look at the answers to those four questions, we may be able to figure it out.

ps. the complete source code to the "custom tool" I mentioned above is here:

using System;
namespace Ionic.Tools
    public class AssemblyVersion
	private AssemblyVersion () {}
	public static void Usage()
	    Console.WriteLine("AssemblyVersion: given an assembly, display the fully-qualified assembly name.\n");
	    Console.WriteLine("Usage:\n  AssemblyVersion <assembly file>");
	public static void Main(string[] args)
	    if (args==null || args.Length != 1 || args[0] == "-?" ||  args[0] == "-h")
		    var asm = System.Reflection.Assembly.LoadFrom(args[0]);
		catch (System.Exception exc1)
		    Console.WriteLine("Exception: {0}", exc1.ToString());

Sep 22, 2009 at 7:51 AM

Okay, here is what I did:

1: I downloaded the file located here:

2: Unzipped the Ionic.Zip.dll from DotNetZip-v1.8/Release to d:\Libraries

3: Opened my project in visual studio and removed all references to Ionic.Zip.dll

4: Added references to d:\Libraries\Ionic.Zip.dll on both the project and the project containing the unittests.

5: Sign my own project with my key file (under project properties => Signing => Checkbox saying "Sign the assembly" and there I browse to the snk-file)

6: Clean solution

7: Build solution

Step 7 produces: Error 1 Assembly generation failed -- Referenced assembly 'Ionic.Zip' does not have a strong name

When I run the AssemblyChecker, I get the same result as you have. For complete info, I use Visual Studio Team System 2008 (9.0.21022.8RTM), the project is currently in .net 2.0.

Sep 22, 2009 at 9:42 AM

Sounds like a stale reference.  Not sure about the behavvior of VS2008, maybe you need to remove references and re-add, or stop and restart VS, or something like that.


Sep 22, 2009 at 11:57 AM

Sometimes, the best way to find the needle in the haystack is to burn down the haystack :-)


I found the reference which wasn't updated, and now it works. Thanks for the help, it's much appreciated!