According to this it should be possible to reference projects outside solution and have it working in VS and command line but not TFS.
Unfortunately, when I've tried to partition my solution this way, it didn't work neither in VS2010/devenv nor in msbuild.
In both cases the error was:
The OutputPath property is not set for project 'Common.csproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='AnyCPU'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform.
However, current Platform is "x86" and no matter which platform and configuration I set in VS or msbuild it's always trying Debug|AnyCPU
. In case of msbuild if I set /p:OutputPath=bin\x86\Debug
it propagates to child projects correctly.
Is this a bug, can I work-around it ?
UPDATE
Found the bug in MS Connect. Unfortunately closed as Won't Fix :(
UPDATE 2
Found workaround: set ShouldUnsetParentConfigurationAndPlatform=false
. Both on command line for msbuild and in project file (before any imports) to fix Visual Studio.