views:

1961

answers:

4

"Assembly [AssemblyName] must have a shared name to be installed globally"

I am getting this error message when I try to deploy some component DLLs for my application to the Global Assembly Cache.

What is a shared name and how do i make sure my DLLs have one?

+4  A: 

A "shared name" must be a synonym for a "strong name," which is what I've always read/heard it called. That link shows how to sign an assembly with a strong name so that it can be added to the GAC.

Kevin Gorski
+1  A: 

Are you sure it's not 'strong name' ? You have to sign your assemblies (see project properties in vs.net) before installing them in the gac.

Though in general, assemblies shouldn't be installed in the GAC. MS advices to only install component dlls which are used by many applications (e.g. control libraries) to install in the GAC. In general, one should keep the used assemblies local to the application itself so xcopy deployment is possible (as GAC installation isn't required for an application to run properly)

Frans Bouma
It says shared name, but as Kevin says, they must be synonymous.
brien
I figured as much :)
Frans Bouma
A: 

That's correct, you need to sign your assembly with a strong name.

BeowulfOF
A: 

I want to say that if I have a application and if this application uses another application like a devexpress component and this cmponent is always have a assambly what could I do. But At the end I was solved this issure with a GAC utility also I was saw that if we are copied that dll to the shared folder for the GAC it is always agreed with this isssure too

Sory for above becouse at the time it is keep out of my long time.

Thanks all