deploying a DLL

I have VB.NET DLL.  It is used by multiple solutions.  In Visual Studio, when I add the reference, it copies the DLL, XML and PDB file into the BIN folder.   When I deploy my apps in a production environment, I do not multiple copies of these files in each app folder.   How do I deploy correctly?  
LVL 1
HLRosenbergerAsked:
Who is Participating?
 
khairilCommented:
Hi,

You can deploy them into GAC, so that they can be shareable. This is how to use Visual Studio to deploy them into GAC, http://support.microsoft.com/kb/324168
0
 
CodeCruiserCommented:
You need to give your DLL a strong name

http://msdn.microsoft.com/en-us/library/xc31ft41.aspx

and then deploy it to GAC(Global Assembly Cache)

http://support.microsoft.com/kb/315682
0
 
khairilCommented:
Do not worry about XML and PBD file. The XML just about resource manager and PBD is debug file.  You just need to include the DLL into your distribution package.

Make sure you set your final compilation set to release mode. Debug mode have at lot of other symbols put into the binary, which will have performance impact on during runtime.
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
HLRosenbergerAuthor Commented:
Thanks to all
0
 
HLRosenbergerAuthor Commented:
What happens what I compile a new version of the DLL?  I just redeploy into the GAC on the target system?   What does the strong name signing do?
0
 
khairilCommented:
Yup, if your DLL does not require any other resources that have been changed, then you can simple copy the updated assembly in the GAC.

Strong names satisfy the following requirements:
1. Guarantee name uniqueness as an assembly generated with one private key has a different name than an assembly generated with another private key.

2. Strong names protect the subsequent  version lineage of an assembly

3. Strong name passed the .NET Framework security checks guarantees that the contents of the assembly have not been changed since it was built.

This article is very good explaination about Strong Name, have time to read it, http://www.codeproject.com/KB/security/StrongNameExplained.aspx

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.