Home All Groups Group Topic Archive Search About

Strong name validation failed

Author
24 Oct 2007 7:41 PM
Sehboo
One more try since I don't have the option to remove PublicKeyToken as
somebody pointed that here..


We are using enterprise library (EL) in our application.  We want to
upgrade our application from .net 1.1 to .net 2.0.  Since we have
changed code in enterprise library, we can't just go with the newer
version, we will have to keep the old version.

All out assemblies are strongly named!


I recompiled all the projects in EL with VS 2005, but if I try to run
EntLibConfig.exe then I get the error that Could not load file or
assembly EntLibConfig.exe or one of its dependency.  Strong name
validation failed.


All the projects were compiled with the same old public key.


Here are the entries in our GlobalAssemblyInfo.cs file


[assembly: AssemblyDelaySign(true)]
[assembly: AssemblyKeyFile(@"c:\shared\keys\prod-Public.snk")]
[assembly: AssemblyKeyName("")]


Anybody knows what I need to do?


thanks

Author
25 Oct 2007 3:45 AM
Andrew Faust
I don't think it's possible to do what you want. I believe when you sign an
assembly it uses the key, version, name & a hash of the actual file. This
way you have a guarantee that the file hasn't been tampered with. If it
didn't do a check against the hash of the file there would be nothing to
prevent someone from modifying an assembly in a hex editor and adding their
own code.

You're going to need to keep the old and new versions of your library.
Keeping it around shouldn't be a problem, though. Since your assemblies are
strongly typed the 1.1 and 2.0 versions can coeexist in the GAC jsut fine.

--
Andrew Faust
andrew[at]andrewfaust.com
http://www.andrewfaust.com


Show quote
"Sehboo" <MasoodAd***@gmail.com> wrote in message
news:1193254913.321915.290680@e34g2000pro.googlegroups.com...
> One more try since I don't have the option to remove PublicKeyToken as
> somebody pointed that here..
>
>
> We are using enterprise library (EL) in our application.  We want to
> upgrade our application from .net 1.1 to .net 2.0.  Since we have
> changed code in enterprise library, we can't just go with the newer
> version, we will have to keep the old version.
>
> All out assemblies are strongly named!
>
>
> I recompiled all the projects in EL with VS 2005, but if I try to run
> EntLibConfig.exe then I get the error that Could not load file or
> assembly EntLibConfig.exe or one of its dependency.  Strong name
> validation failed.
>
>
> All the projects were compiled with the same old public key.
>
>
> Here are the entries in our GlobalAssemblyInfo.cs file
>
>
> [assembly: AssemblyDelaySign(true)]
> [assembly: AssemblyKeyFile(@"c:\shared\keys\prod-Public.snk")]
> [assembly: AssemblyKeyName("")]
>
>
> Anybody knows what I need to do?
>
>
> thanks
>

AddThis Social Bookmark Button