Hello
We have a quite huge project.
To limit the solution size, rebuild time and so on we have divided the
project in two different solution.
One solution that holds the buiness entities, or mapping and stuff like
that.
One solution that holds the application, windows controls and stuff like
that.
What I'm wondering about is best practice when referring to the dll's that
is build by the framework solution.
The framework solution is organized like this:
<Framework solution>
BusinessFasade
ClientServices
Data
Resources
Framework
<UI solution>
ClientApp
Controls
UtilityApp
Where the framework is independent of any other projects. All other projects
are dependent upon Framework. BusinessFasade is also dependent on Data and
ClientServices.
The windows UI solution also has a simular buildup, where one project might
be dependent upon ClientServices, another one on BusinessFasacde and so on.
The UI is referring to the Framework solution.
The UI solution is referring to the <Framework solution> project by adding
references to the dlls. And right now we're acually adding references to the
debug\<dllname>.dll, something I expect will give very unwanted behaviour in
relase mode...
We're experience a lot of load issues. For example opening some forms that
uses some entities only work if everything is newly recompiled, or the
solution just opened. Otherwise it complains about different types, even if
the type name is exactly the same.
I suspect the issue is that dll is beeing referred to trough many different
ways, so that the same dll might exist in several versions, dependent upon
what project you buildt last.
Does anyone know techics for how this should best be solved, or literature
on the topic?
Do you for example have the references "CopyLocal = true" for all projects,
or just for the exe projects?
Do you copy all the dlls out to some shared area and the referring them from
that area in the other solution, or?
Any input on the topic would be very nice!
Best regarsd, Trond-Eirik