[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Accessing solutions

Posted on 2011-02-16
9
Medium Priority
?
406 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
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 

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 600 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 150 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

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

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

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Simulator games are perfect for generating sample realistic data streams, especially for learning data analysis. It is even useful for demoing offerings such as Azure stream analytics, PowerBI etc.
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
Suggested Courses

612 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