I saw this in a project file the other day:
<ProjectReference Include="Foo\Bar\Baz.csproj">
<Project>{A GUID HERE}</Project>
<Name>Baz</Name>
<Private>False</Private> <!-- ??? -->
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
Every node in a ProjectReference
appears to be self explanatory (the referenced project file, GUID, name to show in the solution explorer, and whether or not the current project should link to the referenced project) except Private
, and the Common MSBuild Project Items page doesn't document this value. (There's a Private
setting documented for Reference
rather than ProjectReference
-- but it has Never
, Always
, and PreserveNewest
settings, not true and false)
What does this setting do?
ProjectReference
item is recognized by (at least) the C# and C++ MSBuild supporting infrastructure; it looks like it is handled mostly in theMicrosoft.Common.CurrentVersion.targets
file. – Kiger