
 Rank: Guest Groups: Guest
Joined: 9/17/2007 Posts: 11,670 Points: -1,200
|
Date parsed: 22/04/2008 07:03:50 Date: Tue, 22 Apr 2008 14:03:50 -0700 (PDT)
Hi,
We have a development shop of about 4 programmers, and our current project is using VS 2005. My question, is it possible to change the References based on the Compile configuration? Example, we can change where the DLL's are compiled to, but how can the Reference location change so we can tell the app where to pull the DLL's from?
For example, if we compile to c:\development\dlls for Debug and a UNC network path for Release, I want all our projects to pull referenced DLLs from c:\development\dlls when in Debug mode and the UNC Path if in Release mode. This way we can run the application completely locally or from the DLL's on the server as needed.
Or does anyone else have a solution to make this work? It seems if one programmer is testing something and compiles with a bug, it'll throw off all other coders who are writing code based on that DLL. Also if someone has the application running for testing, the DLL's are locked so building isn't even possible.
Just trying to find some simple way for each developer to run the project wholely on his/her workstation as needed as to not interfere with others work while testing.
Thanks --
Alex
|

 Rank: Guest Groups: Guest
Joined: 9/17/2007 Posts: 11,670 Points: -1,200
|
Date parsed: 22/04/2008 07:33:50 Date: Tue, 22 Apr 2008 14:33:50 -0700
We haven't found a way to set VS up to do this by itself, but we have a tolerable workaround. The way we've done this in the shop I work in is this:
We've given VS2005 access to the directory to pull our library dll's are collected from, by creating a registry key under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\
Suppose I name the subkey AppAssemblies (it can be anything): the key is then: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\AppAssemblies
In the file system, I might have a directory structure like this:
C:\AssemblyLibrary Debug Release
The default value of the key contains the fully-qualified file system path of the directory that holds the assemblies, which would be C:\AssemblyLibrary\Debug when I'm doing debug builds.
To change things so that builds resolve against the release builds directory, I'd merely change the registry key's default value to: C:\AssemblyLibrary\Release
It's still kind of clumsy, but we haven't come up with anything better.
Tom Dacon Dacon Software Consulting
"Alex" <samalex@gmail.com> wrote in message news:19f32e9d-b49c-4d39-8bf1-b0f60ab63184@a22g2000hsc.googlegroups.com... > Hi, > > We have a development shop of about 4 programmers, and our current > project is using VS 2005. My question, is it possible to change the > References based on the Compile configuration? Example, we can change > where the DLL's are compiled to, but how can the Reference location > change so we can tell the app where to pull the DLL's from? > > For example, if we compile to c:\development\dlls for Debug and a UNC > network path for Release, I want all our projects to pull referenced > DLLs from c:\development\dlls when in Debug mode and the UNC Path if > in Release mode. This way we can run the application completely > locally or from the DLL's on the server as needed. > > Or does anyone else have a solution to make this work? It seems if > one programmer is testing something and compiles with a bug, it'll > throw off all other coders who are writing code based on that DLL. > Also if someone has the application running for testing, the DLL's are > locked so building isn't even possible. > > Just trying to find some simple way for each developer to run the > project wholely on his/her workstation as needed as to not interfere > with others work while testing. > > Thanks -- > > Alex
|

 Rank: Guest Groups: Guest
Joined: 9/17/2007 Posts: 11,670 Points: -1,200
|
Date parsed: 22/04/2008 07:37:40 Date: Tue, 22 Apr 2008 14:37:40 -0700
I should also have mentioned that all our assembly references are Copy Local, so we never lock anything in the assembly libraries while running.
Tom
"Tom Dacon" <tdacon@community.nospam> wrote in message news:%23nI1LCMpIHA.672@TK2MSFTNGP02.phx.gbl... > We haven't found a way to set VS up to do this by itself, but we have a > tolerable workaround. The way we've done this in the shop I work in is > this: > > We've given VS2005 access to the directory to pull our library dll's are > collected from, by creating a registry key under > > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\ > > Suppose I name the subkey AppAssemblies (it can be anything): the key is > then: > > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\AppAssemblies > > In the file system, I might have a directory structure like this: > > C:\AssemblyLibrary > Debug > Release > > The default value of the key contains the fully-qualified file system path > of the directory that holds the assemblies, which would be > C:\AssemblyLibrary\Debug > when I'm doing debug builds. > > To change things so that builds resolve against the release builds > directory, I'd merely change the registry key's default value to: > C:\AssemblyLibrary\Release > > It's still kind of clumsy, but we haven't come up with anything better. > > Tom Dacon > Dacon Software Consulting > > > > "Alex" <samalex@gmail.com> wrote in message > news:19f32e9d-b49c-4d39-8bf1-b0f60ab63184@a22g2000hsc.googlegroups.com... >> Hi, >> >> We have a development shop of about 4 programmers, and our current >> project is using VS 2005. My question, is it possible to change the >> References based on the Compile configuration? Example, we can change >> where the DLL's are compiled to, but how can the Reference location >> change so we can tell the app where to pull the DLL's from? >> >> For example, if we compile to c:\development\dlls for Debug and a UNC >> network path for Release, I want all our projects to pull referenced >> DLLs from c:\development\dlls when in Debug mode and the UNC Path if >> in Release mode. This way we can run the application completely >> locally or from the DLL's on the server as needed. >> >> Or does anyone else have a solution to make this work? It seems if >> one programmer is testing something and compiles with a bug, it'll >> throw off all other coders who are writing code based on that DLL. >> Also if someone has the application running for testing, the DLL's are >> locked so building isn't even possible. >> >> Just trying to find some simple way for each developer to run the >> project wholely on his/her workstation as needed as to not interfere >> with others work while testing. >> >> Thanks -- >> >> Alex > >
|