brien
brien

Reputation: 4440

Problem deploying DLLs to the GAC in a Visual Studio Setup Project

"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?

Upvotes: 3

Views: 4918

Answers (4)

Oliver Friedrich
Oliver Friedrich

Reputation: 9240

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

Upvotes: 0

dewelloper
dewelloper

Reputation:

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

Upvotes: 0

Frans Bouma
Frans Bouma

Reputation: 8357

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)

Upvotes: 1

Kevin Gorski
Kevin Gorski

Reputation: 3771

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.

Upvotes: 5

Related Questions