Problem - Build two projects referencing the assembly of same name but of different version fails in Team Build
Scenario - Consider two projects (Proj1 and Proj2) that refer to the same assembly (lib.dll) of different versions (1.0.0.0 and 2.0.0.0). For example
$/TP1/Common/v1/lib.dll $/TP1/Common/v2/lib.dll $/TP1/Proj1/Proj1.sln $/TP1/Proj1/Proj1/Proj1.csproj (file reference to ..\..\Common\v1\lib.dll,1.0.0.0) ... $/TP1/Proj2/Proj2.sln $/TP1/Proj2/Proj2/Proj2.csproj (file reference to ..\..\Common\v2\lib.dll,2.0.0.0) ...
$/TP1/Common/v1/lib.dll
$/TP1/Common/v2/lib.dll
$/TP1/Proj1/Proj1.sln
$/TP1/Proj1/Proj1/Proj1.csproj (file reference to ..\..\Common\v1\lib.dll,1.0.0.0)
...
$/TP1/Proj2/Proj2.sln
$/TP1/Proj2/Proj2/Proj2.csproj (file reference to ..\..\Common\v2\lib.dll,2.0.0.0)
Investigation result - This works fine on desktop scenario but is broken inside Team Build.
The user has to make sure
The undesirable effect for the above mentioned changes is that user will not be able to run the assembly from the drop site. For example in our scenario –
Recommendations/workarounds
Related [post]