ericms wrote:
I wonder if the shared assemblies must be under "Program Files" folder.
Could it be in different folder ?
We just copy the assembly into the same folder as the application
(.exe) file. If there are several applications in the same folder then
they can share DLLs.
There is no requirement that they be under "Program Files" unless that
is where you keep your .exes. You can look up articles on exactly how
the CLR searches for assemblies:
http://msdn2.microsoft.com/en-us/library/yx7xezcf.aspx
We do not use the GAC. The GAC is _necessary_ only if you need to
support side-by-side versioning. That is, only if you need multiple
versions of the same assembly loaded on your system at one time. Even
then, you could do this manually by simply keeping your applications in
separate folders and deploying the correct version of the DLL to the
relevant folder.
The GAC is there for commercial software developers who want control
over versioning. For those of us who do software development for
strictly in-house consumption, it's optional.