I have the following scenario: I have a  solution A with multiple projects including some "base" projects and projects (denoted by D) dependent on libraries produced by these base projects (thus projects in D have a project reference to projects in base). I also have two solution filters: filter1.slnf containing base projects, and filter2.slnf containing projects in D.
I am trying to first run msbuild filter1.slnf and then run
msbuild filter.slnf /p:BuildProjectReferences=false. If I understand correctly BuildProjectReferences=false is to instruct msbuild to not explicitly build project references/dependencies. The aim being to make the second build step utilize the artifacts from the previous step. Changes to base projects are infrequent and I would not want to build them again and again in the CI/CD pipeline. But I also would like to keep the current solution to make it easier to make those infrequent changes, and thus solution filters.
In the output for the second command I see msbuild is trying to read the base project files.
My question is where should I look in the msbuild's open source-code to verify if it is just doing a simple check of whether the output directory contains the base libraries ? Also is this approach of breaking the build of the complete solution into different builds (eg. one filter for base projects and one/or more filter(s) for the dependent projects) using solution filters viable (as the official blog does not seem to speak explicitly of this use case)?
Related post: How do you split a Visual Studio Solution?