I have several projects that use the same dlls. When deploying these
projects, is there a way that I can have all the shared dlls in one
subdirectory and the project specific files in another?
Programs
|
|-App 1
|
|-App 2
|
|-Shared Dlls
Thanks 9 3509
It would probably make better sense to place those dll's in the GAC.
"Dwight" <dt********@gmail.com> wrote in message
news:11*********************@u72g2000cwu.googlegro ups.com... I have several projects that use the same dlls. When deploying these projects, is there a way that I can have all the shared dlls in one subdirectory and the project specific files in another?
Programs | |-App 1 | |-App 2 | |-Shared Dlls
Thanks
Dwight wrote: I have several projects that use the same dlls. When deploying these projects, is there a way that I can have all the shared dlls in one subdirectory and the project specific files in another?
Programs | |-App 1 | |-App 2 | |-Shared Dlls
Thanks
Sure, you could do that using the Assembly.LoadFrom method - but, I
think you would be much better off installing those "shared" libraries
to the GAC as has been suggested. That's what it's for after all :)
--
Tom Shelton [MVP]
Isn't the GAC only for ASP.net programs?
I see that the GAC is on every computer with the framework. But using
the GAC would require these dlls being loading on users computers,
which is not I want to do.
The applications reside on a network and I've been asked to dump all
programs and dlls into one subdirectory, instead of seperate
directories.
It seems easier to maintain if the applications are in seperate
directories but the client does't want to have multiple copies of the
same dlls and doesn't want to have the dlls loaded on peoples machines.
Thanks
Dwight wrote: The applications reside on a network and I've been asked to dump all programs and dlls into one subdirectory, instead of seperate directories.
Why? By whom?
Is the program actually going to execute on the client or on the server?
The GAC isn't the only option for loading shared DLL's, but it is one of
the quicker ones. If you /have/ to keep shared DLL's in a separate
directory (and I really /wouldn't/ recommend it), look at the
"dependentAssembly" entry that you can add to your [client program's]
App.Config file. With this, you can hold other [shared] Assemblies
separately from each client program - but Lord help you if you ever try
to move the shared area. ;-)
It seems easier to maintain if the applications are in seperate directories but the client does't want to have multiple copies of the same dlls and doesn't want to have the dlls loaded on peoples machines.
So they're prepared to require the 20+Mb Framework on each PC, but not
to manage the <1Mb of your application's DLL's. Lovely ... :-(
Regards,
Phill W.
Phill W. wrote: Why? By whom? Is the program actually going to execute on the client or on the server?
The applications are stored on a file server with a mapped drive. Users
access the applications from around the world. It is easier to maintain
at the server level than the client level.
The GAC isn't the only option for loading shared DLL's, but it is one of the quicker ones. If you /have/ to keep shared DLL's in a separate directory (and I really /wouldn't/ recommend it), look at the "dependentAssembly" entry that you can add to your [client program's] App.Config file. With this, you can hold other [shared] Assemblies separately from each client program - but Lord help you if you ever try to move the shared area. ;-)
Can the path be a relative path?
So they're prepared to require the 20+Mb Framework on each PC, but not to manage the <1Mb of your application's DLL's. Lovely ... :-(
Managing the framework is much easier. It's done by a global desktop
team. Managing individual applications is done by project teams. If
there is a way to update the GAC by the application itself, it probably
could be done otherwise it looks everything get dumped into one
subdirectory.
I don't understand the reasoning behind the one directory format yet. I
just have to present pros and cons for both situations.
Thanks
Dwight wrote: The applications are stored on a file server with a mapped drive. Users access the applications from around the world. It is easier to maintain at the server level than the client level.
Agreed! ... look at the "dependentAssembly" entry that you can add to your [client program's] App.Config file.
Can the path be a relative path?
Yes.
If there is a way to update the GAC by the application itself, it probably could be done otherwise it looks everything get dumped into one subdirectory.
So its there one application that sits "up-front" from which others are
launched? If so, /that's/ the place to put your GAC-installing code,
which most simply, is 'shell'ing out the GacUtil utility, feeding it a
file of assemblies to add.
Regards,
Phill W.
Phill W. wrote: So its there one application that sits "up-front" from which others are launched? If so, /that's/ the place to put your GAC-installing code, which most simply, is 'shell'ing out the GacUtil utility, feeding it a file of assemblies to add.
No, there are just multiple apps. All are independent of each other.
hi,
the "best" solution (only my opinion)
1) keep the interfaces of your libs compatible => signatures of public
props+methods
(the best is only 1 version of your lib in gac + publisher policy)
2) deploy your libs in the GAC, but only with publisher policies!
this will redirect your "old" clients to the new versions of your libs
=> convince your client that loading from the GAC is much faster!
loading manualy your libs may not be good for the code maintenance of
your libs ... i dont talk at the moment about deployment and moving
your libs in another (network) directory ....
adrian
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? This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: JStrummer |
last post by:
I have a question regarding paths and the include() statement in PHP.
I develop in a Windows environment and will be publishing to a Linux
server. I would like to do the following:
1. Setup my...
|
by: Phil |
last post by:
I realize this is the php group, but I have a question that recurses
back to my php install.
My objective is a pure 64 bit shared object installation of php 5.0 on
UltraSparc Solaris 9 compiled...
|
by: Ron Bremmers |
last post by:
I have a application (.exe) and one assembly (.dll).
When the two files are in de same folder, it works fine.
But I want to create a subfolder called for example "DLLs".
When I move the assembly...
|
by: Arjan van den Noort |
last post by:
How to delete a directory (with all containing directories and files) with
vb.net if the directory contains long paths ?
(just like the dos command: RD /S/Q path)
What I want is a routine to...
|
by: KSC |
last post by:
Hello,
Is there a way to programmatically determine if a directory is shared and if
so, what the sharename is?
It seems a simple question, but I have been searching and not found the...
|
by: guy |
last post by:
i have inherited the following migrated vb6 code (vb2005)
but i DONT get the "not all paths return a value" squiggly - is this a
'feature' of on error goto?
Private Function CreateFolder(ByVal...
|
by: nuggies |
last post by:
I'm developing an ASP.NET 2.0 (C#) application in which I need to display
the available shared folders on the server. The shared folder paths need to
be in UNC format (i.e., \\servername\share)...
|
by: sva |
last post by:
Using C# for an application in which I am working on, I need to display the
available shared folders on the computer that's running the application.
The shared folder paths need to be in UNC format...
|
by: David T. Ashley |
last post by:
I've occasionally had trouble compiling and linking programs that use shared
libraries. That never made a lot of sense to me, because I thought the
operating system went hunting for the symbols...
|
by: DolphinDB |
last post by:
Tired of spending countless mintues downsampling your data? Look no further!
In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
|
by: ryjfgjl |
last post by:
ExcelToDatabase: batch import excel into database automatically...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM).
In this month's session, we are pleased to welcome back...
|
by: jfyes |
last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
|
by: ArrayDB |
last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Defcon1945 |
last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
|
by: Faith0G |
last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
| |