Widziałem to w pliku projektu pewnego dnia:
<ProjectReference Include="Foo\Bar\Baz.csproj">
<Project>{A GUID HERE}</Project>
<Name>Baz</Name>
<Private>False</Private> <!-- ??? -->
<ReferenceOutputAssembly>False</ReferenceOutputAssembly>
</ProjectReference>
Każdy węzeł w a ProjectReferencewydaje się być oczywisty (plik projektu, do którego istnieje odwołanie, identyfikator GUID, nazwa do wyświetlenia w eksploratorze rozwiązań oraz to, czy bieżący projekt powinien łączyć się z projektem, do którego się odwołuje), z wyjątkiem Private, a strona Typowe elementy projektu MSBuild nie udokumentuj tę wartość. (Jest to Privateustawienie udokumentowane Referencezamiast ProjectReference- ale ma Never, Always, i PreserveNewestustawienia, nie prawdziwe i fałszywe)
Co robi to ustawienie?
ProjectReferenceelement jest rozpoznawany przez (przynajmniej) infrastrukturę wspierającą C # i C ++ MSBuild; wygląda na to, że jest obsługiwany głównie w Microsoft.Common.CurrentVersion.targetspliku.