Re: Project-->Project References Large Project

Tech-Archive recommends: Fix windows errors by optimizing your registry



Sounds logical. How about build time? Some of our guys think that will
greatly increase the build time and the rebuild time when you have a
"build broken, fix one project, rebuild" scenario.


On Jan 25, 12:22 pm, "Dave Sexton" <dave@jwa[remove.this]online.com>
wrote:
Hi,

I recommend using project references over assembly references. Personally,
I like having all of the projects in one solution as long as it doesn't
hamper development (too much clicking and searching can get annoying).

It may seem a bit strange having all of my required utility libraries added
to every solution that uses them as projects, but I do that also. I like to
be able to update the utility libraries when I find bugs or to add new
features while I'm using them.

Another benefit of project references is that it helps to be able to quickly
debug all of the projects from within the same solution by using breakpoints
and being able to step into other projects. Although this is possible
without project references, you'd have to reference the assembly with the
debug symbols, which brings me to my last point...

Project references also allow you to build a debug or release configuration
by just changing the solution configuration. With assembly references you'd
have to do some rewiring first for release builds.

An alternative for team development is to use smaller solutions that contain
only the projects that a particular team requires, with assembly references
to the other projects, and then create one major solution that builds the
final release with project references to all. The build solution would tie
in all of the teams components and could be used for a nightly debug build
and the ultimate release build.

The only problem that I've seen with project references (if you want to call
it a problem) is that source control complains about the binding root being
different from the solution for each of the utility projects.

Another advantage, regarding dependency and build order, can be found on
MSDN:

Project References
§ Project-to-Project References and File Referenceshttp://msdn2.microsoft.com/en-us/library/ez524kew(VS.80).aspx

--
Dave Sextonhttp://davesexton.com/bloghttp://www.codeplex.com/DocProject(Sandcastle in VS IDE)

"DonJefe" <MNa...@xxxxxxxxx> wrote in messagenews:1169737245.813385.221750@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Does anyone have experience using project->project references in large
solutions? What are the plus/minuses that you have found?

Currently, we are using the binary assembly references for our code,
but this becomes problematic when you want to build from multiple
branches/working directories.

Any thoughts on this would be appreciated.

Thanks

.



Relevant Pages

  • Re: Building In Debug Mode Using Visual C# 2005 Express
    ... So I created a c# solution with a fake app which project references my ... This builds the code libraries in debug. ... The first dll makes calls into the ...
    (microsoft.public.vc.debugger)
  • RE: Debugging issues
    ... the default Debug build configuration? ... Are you using project references to ... I've found it easiest to use project references with the App Blocks so that ... > I have 2 breakpoints set, ...
    (microsoft.public.dotnet.general)
  • C++ debug/release builds and project references
    ... with project references using C++ .NET and Visual Studio 2003. ... When the windows form app compiles, however, I see: ... Where does this "Debug" come from? ...
    (microsoft.public.dotnet.languages.vc)
  • Re: Assembly references get messed up when changing configuration or t
    ... You may want to try project references instead ... If I change configuration or target, ... the original target, the solution doesn't build. ... and the debug for debug builds. ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: Project References or Assembly References?
    ... Studio 2005. ... Project references or Assembly references? ... If they are in the same solution, use project references because they are more resistent to changes. ...
    (microsoft.public.dotnet.languages.csharp)