Я побачив це у файлі проекту днями:
<ProjectReference Include="Foo\Bar\Baz.csproj">
<Project>{A GUID HERE}</Project>
<Name>Baz</Name>
<Private>False</Private> <!-- ??? -->
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
Кожен вузол у ProjectReferenceвидається, що він сам пояснює (файл із посиланням проекту, GUID, ім'я, яке потрібно вказати в провіднику рішень, і чи повинен поточний проект посилатися на проект, що посилається), за винятком випадків Private, і сторінка загальних елементів проекту MSBuild не робить ' t задокументуйте це значення. (Там є Privateнастройка документовані для , Referenceа не ProjectReference- але у нього є Never, Alwaysі PreserveNewestнастройки, а не істина і помилкові)
Що робить цей параметр?
ProjectReferenceелемент розпізнається (принаймні) підтримуючою інфраструктурою C # і C ++ MSBuild; схоже, що обробляється здебільшого у Microsoft.Common.CurrentVersion.targetsфайлі.