GAC and development

W

Wayne Sepega

So we've determined that our assemblies will be getting placed in the GAC
going forward. I have done a bit of research and determined a process based
on that research on how to manage the assemblies for deployment.

Here is my issue, all of the information I find talks about what you should
do for deployment to prod, I've not found very much on how to handle this
with a team of developers.

Where do we put the assemblies?
How do we get each of the dev boxes updated on a daily basis?
How do each of the projects get updated to reference the current build of
the assembly?
How do we deploy current builds, but not screw up anything that may be a
work in progress on the developers box? E.G. they are responsible for fixes
a bug in a shared assembly.

Anyone currently using the GAC that would like to share how they accomplish
this?

Thanks
Wayne
 
J

jan.hancic

You don't need to put the assembiles into GAC while developing.
Just put them there once the program goes into production...
 
C

Cerebrus

Hi,

You decide. If the assemblies are shared between multiple applications,
only then, it makes sense to install them to the GAC. Else, just keep
them in the application bin directory.
the assembly?

A better option might be to hard code the version no. of the assembly
in the AssemblyInfo file. By default, it is : <Assembly:
AssemblyVersion("1.0.*")>
You can change this to <Assembly: AssemblyVersion("1.0.0.0")> or
anything similar. Therefore, each subsequent build of your assembly
will have the same version. So, no updation is required in the Client
application.
work in progress on the developers box? E.G. they are responsible for
fixes
a bug in a shared assembly.

Jan is right, you need to install to the GAC, only when your
development work is over, and you're at the deployment stage. Or else,
you're going to have a whole slew of different versions of the same
assembly in your GAC. Though that isn't going to cause any problems,
since the applications that were using the older version will continue
to do so, without breaking.

Regards,

Cerebrus.
 
A

adi

hi,

....only for the case, that you still wanting to use the gac, because of
speed improvement

if you don't want to recompile your client(s), you should create a
"publisher policy" for this new dll, in order to redirect the "old"
client to your new version of the dll.
(the client holds the compiled version of the dll in his metadata, so
if you recompile your strong named dll, you get a new version)
=> use al.exe for publisher policy + snk file

if you are bored of "manual working" you can use the shareware
"GacPublish" for advanced deployment of assemblies + activeX .... more
after using goooogle
disadvantage => documentation only in german at this time .... english
version will follow?

adrian
p.s hope that my english is still usable ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

GAC and NGEN 2
Assembly policy for non-GAC dlls 4
frameworrk and GAC components 4
Deployment of Third-Party Assemblies to GAC 1
GAC and namespaces 1
Using the GAC 1
Setup and share libraries in GAC 1
GAC 3

Top