NavigationUser loginWho's online
There are currently 0 users and 2 guests online.
|
Visual Studio 2010 – Project Reference Oddness and RevelationThis post is an op-ed on how VS handles references. Over the past few years not only have I experienced frustration on this, but I find that many others have similar views. Just recently I took a significant amount of time to study the issue: reading the MSDN documentation and various blog postings on the subject. My overall impression is:
So what explains this "disconnect?" The Revelation As a first step it is important to understand the assumptions Microsoft was acting on when deciding how references were to work:
This means that the developers have freedom to setup references in a way most easy and natural: not having to think about where to reference an assembly. The developer installs whatever software needed on the local development environment and then adds the references from the .NET extension list (i.e. takes the default location selected by VS). However, it is not the same story for an integration build environment. Here the build machines are as clean as possible. That way the same build machine can support the build of many different applications that use different versions of the same software where in some cases couldn't even be installed on the same machine at the same time. So here the assemblies are organized into directory locations and referenced using MSBuild parameters like /p:ReferencePath=[path(s)]. The "Microsoft Way"
Why So Much Frustration? For example, it seems both simple and more obvious for references to be static and explicit: as a developer I set up my reference to a specific relative location and it never changes. That location is setup to work both for the local and integration builds. I agree that this is simple and obvious. However, I believe this is a weaker approach for any team that uses a source contol tool and performs integration builds separate from the local environment. Summary
|
Search |