I have a concern which follows on from this discussion.
I am building a .NET application made up of multiple assemblies
(projects) in a single solution. The projects are decoupled as much as
possible so that only a few interfaces are exposed between projects.
But....
Whenever I touch any code in a more fundamental project (say, Storage),
ALL files are recompiled in ALL projects that reference this changed
project.
This is unacceptable! At the moment the compile times are not large as
the project is still at POC stage but I expect the code space to
increase at least 100 to 1000 fold.
Am I missing something, or is this deliberate? Surely VS can determine
whether any exposed types have been changed rather than taking what
appears to be the most pessimistic approach.
Any information would be very much appreciated.
Whatever .dll you want to reference should already be compiled into its
final form (.dll or .exe) before you reference it. The project that needs
to use the referenced .dll need not be compiled to make the reference, but
certainly needs to be compiled in order for its code to run (and therefore
use the referenced assembly).
As I stated, you need to have whatever you want to reference already
compiled, because the compiled assembly is what you make a reference to.
The project that is making the reference needs to be compiled to run, but
not to make a reference. An example of this is that a brand new project in
VS.NET will already have references to commonly used .NET assemblies
(system.dll, mscoree.dll, etc.) before you even begin.
---
If you whish to reply to me directly, my addres is spam proofed as:
pbromley at adi dot co dot nz
Or if you prefer - (e-mail address removed)