Click here to Skip to main content
15,886,199 members
Articles / Programming Languages / XML

Visual Studio: Adding DLL References Whose Version Changes Frequently

Rate me:
Please Sign up or sign in to vote.
5.00/5 (4 votes)
25 Aug 2010CPOL1 min read 32.3K   4   1
How to add DLL References Whose Version Changes Frequently

Let's assume you have a C# project in Visual Studio. In that project, you reference an assembly (DLL) created by another of your projects. Because both projects are in active development, the version number of the referenced assembly changes frequently.

There is one easy way to solve this:

Add a reference to the project by clicking "Add Reference..." and choosing from the tab "Projects". But this has two downsides:

  1. The target project needs to be in the same solution.
  2. The target project had better be a C# project, too. If it is a C++ project, for example, you will not be able to compile the (source/referencing) project in Blend.

But there is an alternative:

Add a reference to the compiled DLL by clicking "Add Reference..." and choosing from the tab "Browse". This seems to work fine initially, until the target DLL is updated and its version number changes. Then all hell breaks loose and there is no way to fix this - from the GUI.

But under the covers, everything is pretty simple. When you add a DLL reference, the IDE creates an entry like the following in the project file (*.CSPROJ):

XML
<reference include="SomeTargetDLL, Version=1.0.0.123, 
	Culture=neutral, processorArchitecture=x86" />

As is pretty obvious once viewed in code: the reference contains a version definition tag. Remove that, and you are good. In the above example, I simplified the line to:

XML
<reference include="SomeTargetDLL" /> 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Helge Klein GmbH
Germany Germany
Helge Klein is an independent consultant and developer. As a consultant, he has worked in Windows and Citrix projects for various larger German corporations. As a developer, he architected sepago's user profile management product sepagoPROFILE whose successor is now available as Citrix Profile Management. In 2009 Helge received the Citrix Technology Professional (CTP) Award, in 2011 he was nominated a Microsoft Most Valuable Professional (MVP).

Helge's professional interests are focused on Microsoft server technologies, various Citrix products and programming in several languages. He publishes his knowledge in English in his blog at http://helgeklein.com/blog. Helge can also be found on Twitter as @HelgeKlein. He has presented on many occasions, e.g. Citrix TechEdge Munich 2009, ice Lingen (2009 and 2011), PubForum (2010 and 2011), Microsoft TechDay Online 2010, Citrix Synergy 2011 and 2012.

Helge is the author of SetACL, a powerful tool for managing Windows permissions from the command line or from scripts and programs. SetACL is open source and has been downloaded more than 500,000 times. SetACL's modern cousin SetACL Studio comes with an intuitive graphical user interface and is available for a small fee. Another popular tool, Delprof2, automates the deletion of user profiles.

Helge lives in Cologne, Germany.

Comments and Discussions

 
AnswerAn easier way Pin
dwilliss25-Aug-10 14:01
dwilliss25-Aug-10 14:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.