Solved

Accessing solutions

Posted on 2011-02-16
9
400 Views
Last Modified: 2012-05-11
Good day.

I have a solution with 8 dlls.  A second program that I am developing needs access to 4 of the dlls.   It seems logical that I should place these 4 dll projects in their own solution and then each program can access them.  I need to some guidance on how best to accomplish this .

Thanks
Vaughn Whitehead
 
0
Comment
Question by:vaughnwhitehead
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 16

Expert Comment

by:Swapnil Piparia
ID: 34909334
Hi Vaughn,

           It would be good if you put the shared dll (shared between project or reused between the project) in GAC (Global Assembly Cache).

           Following two links will guide you to implement it.
           Global Assembly Cache
           http://msdn.microsoft.com/en-us/library/yf1d93sz.aspx    
           Gacutil.exe (Global Assembly Cache Tool)
           http://msdn.microsoft.com/en-us/library/ex0ss12c.aspx

Thanks,
Netswap.
0
 

Author Comment

by:vaughnwhitehead
ID: 34909383
The dlls share referneces between them.  Would that make a difference?

VW
0
 
LVL 16

Expert Comment

by:Swapnil Piparia
ID: 34909634

no it will not make difference if you compile dll (which is using other dll as reference) by adding reference of shared dll from GAC.

Thanks,
Netswap
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:vaughnwhitehead
ID: 34910721
thanks, appreciate it

VW
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 34915497
You have DLL projects or compiled dlls?
0
 

Author Comment

by:vaughnwhitehead
ID: 34922291
Currently the dlls are in projects.  One dll per project.  It seems that I should move the dlls into one assembly as classes.

Good, bad ??
0
 
LVL 5

Accepted Solution

by:
andr_gin earned 200 total points
ID: 34924048
The most dangerous things when working with DLL projects:

1.) If you stop working on a project (when it reaches RTM status), archive software AND library. There is nothing worse than if you open your project one year later for a minor change and notice that you have done some serious breaking changes to the library in the meantime for other projects. For these minor changes work with the old, tested library

2.) Keep one version: Always compile and ship both solutions at the same time. There is nothing more annoying than if you notice that you compiled project1 with an older version of the library and project2 with a newer version

3.) Put dll projects with critical references into another project: If you have dll projects that depends on installed software (COM/ActiveX controls) than put them into another project only for that software.

4.) Be careful which .NET version and CPU to target:
If you target a dll to a higher .NET version than the user needs that version, even if he does not need the functionality.
If you have a .NET program that is set to "Auto" and your library is set to "x86" than the dll cant be loaded on a 64bit system. I prefer setting everything to x86. Then you cant be wrong.
0
 
LVL 83

Assisted Solution

by:CodeCruiser
CodeCruiser earned 50 total points
ID: 34924425
> It seems that I should move the dlls into one assembly as classes.
Depends on many factors such as number of namespaces/classes, size of classes, dependency of classes on each other, size of produced DLL, relevance of classes to each other etc.
0
 

Author Closing Comment

by:vaughnwhitehead
ID: 34931033
Thanks for the input.  If anyone knows of a good text that covers program structural philosophy instead of the usual bland review I would appreciate a heads up.

Thanks

vswhitehead@gmail.com
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines. The key components of Window…
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question