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 ProjectReference
wydaje 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 Private
ustawienie udokumentowane Reference
zamiast ProjectReference
- ale ma Never
, Always
, i PreserveNewest
ustawienia, nie prawdziwe i fałszywe)
Co robi to ustawienie?
ProjectReference
element 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.targets
pliku.