Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Accessing solutions

Posted on 2011-02-16
9
Medium Priority
?
405 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

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…
Article by: evilrix
Looking for a way to avoid searching through large data sets for data that doesn't exist? A Bloom Filter might be what you need. This data structure is a probabilistic filter that allows you to avoid unnecessary searches when you know the data defin…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
Suggested Courses

610 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