Christian Kuendig
8/4/2003 8:36:00 PM
Hi Rani,
Well, maybe the thing with the local copy (private assembly) isn't that bad
considering the fact that you have several clients maybe referencing
different versions of your common.dll which I suppose contains your
interfaces.
In case that thing is strong named you will run into tricky scenarios
because side-by-side execution kind of asks for the GAC doesn't it? If it's
not strong named, in the other hand, you can break clients while changing
the common and not recompiling them all. Well, you can argue, that's anyway
the case when they want to contact the "server" which was compiled against
the new common.dll... well, that's true, but just the next problem to solve.
Maybe it's required to design new versions of the interfaces in such a way
that they are compatible with lower versions.
Anyway, suppose to use a not strongly named, locally copied, private
assembly:.
Keeping them updated could be as easy as:
- adding the common project into the different solutions and referencing the
common project from the projects that consume it.
- additionally I suggest to set the build property for the common project to
false for all those solutions that just consume the dll. Now it should
automatically be copied to the local directory which should be the /bin for
asp.net. In addition, when you recompile the solution it copies the current
version locally which should solve your problem and enable you to xcopy
everything.
specifying additional private assembly paths shouldn't work because in the
MSDN it's written, that those paths must be subdirectories of the
application base. Which you might or might not manage to be like that, but I
wouldn't if you have winforms and asp apps.
regards
Christian
--
..NET Competence Centre - HSR University, Switzerland
"raniz" <raniz@pos.co.il> schrieb im Newsbeitrag
news:%23rla2XdWDHA.2424@TK2MSFTNGP12.phx.gbl...
> Hello
>
> My problem is with being able to reference some common assemblies from
> several different WEB SERVICE projects WITHOUT registering these
assemblies
> in the GAC.
>
> The problem stems from the fact that a web service project demands
> Assemblies referenced by it to be copied into its directory - usually the
> "bin" directory under the iis application. and that requires me to
duplicate
> these common assemblies in each project, which raises the problem of
keeping
> them updated (as opposed to winform application that allows referencing
> without local copy.
>
> Consideration for this architecture are:
> 1. I would like to split the services between several dlls in order to
gain
> better survivability for the services.
> 2. I would like to avoid using the GAC because of deployment (and team
> development) difficulties, and enjoy x-copy capabilities.
> 3. The common assemblies are to be used not only by the web services but
> also by other winforms applications that add their path in compilation
> (therefore have no "WS style" problems).
>
> Does anyone have a suggestion? is it possible at all?
>
> Tnx Rani
>
>
>