Versioning, GAC, ASP.NET and a BUNCH of sites - Please Help!

  • Thread starter Thread starter Nayt Grochowski
  • Start date Start date
N

Nayt Grochowski

I have a common Class Library that I use on a QA server which has 10+ sites
that all use this library... I got everything working with the current
version installed in the GAC and since some aspx pages reference this via
the @REGISTER page directive I added the assembly in the machine.config so I
didn't have to deal with it in all of the individual web.config files: <add
assembly="Core.ClassLibrary, Version=1.4.4.5, etc..." />

Now - when I go to release the next minor update (which I do if there are
some minor bug fixes) and I change the release to 1.4.4.6 - I basically have
to recompile ALL of the sites, re-release ALL of the sites DLLs, AND
unregister/register the ClassLibrary AND change the machine.config to the
new version. UGH!!!!

FYI - I use the versioning for a visual reference so people know that they
are working on the latest "build.revsion" when testing stuff - so it is
crucial I be able to change at least the revision number without having to
go through this nightmare update process... There MUST be a better way!?

I use the same SNK file, the Public Key Token is the same, there must be
some way to create the reference and basically ignore the version # (or at
least the revision # of the version) - but I have to add the assembly in the
machine.config since there are pages that reference it - I am going nuts
here!

If you have any ideas, please let me know, thanks!

Nayt Grochowski
(e-mail address removed)
 
You can configure the Machine.Config file to force all .NET
applications using a particular version of an assembly to use a
different version.

For example,

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="SomeAssembly"
publicKeyToken="XXXX..."/>
<bindingRedirect oldVersion="1.4.4.5"
newVersion="1.4.4.6"/>
</dependAssembly>
</assemblyBinding>
</runtime>

You might also want to look into using "Publisher Policy". Publisher
Policy allows you to accomplish the same thing. However, be aware that
any settings in the Machine.config will override the settings in the
"Publisher Policy".

Tommy,
 
Back
Top