When referencing projects within WiX projects (*.wixproj) I often saw the code snippet
<ItemGroup>
<ProjectReference Include="..\Foo.Bar\Foo.Bar.csproj">
<Name>Foo.Bar</Name>
<Project>{0bd367ce-5072-4161-8447-ff4deed97bd4}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLLOCATION</RefTargetDir>
</ProjectReference>
</ItemGroup>
Can anyone explain to me what the properties DoNotHarvest
, RefProjectOutputGroups
, and RefTargetDir
mean? Or point to some documentation? I couldn't find anything explaining the meaning of these properties (including the WiX documentation).
Those are disabled features for automatic reference project harvesting. The feature is disabled because it was found to have many bugs.
DoNotHarvest
to false
(double negatives are fun) the feature will sort of turn back on (but other things will be broken).RefProjectOutputGroups
lists the project outputs from the referenced project to include in a generated ComponentGroup
. RefTargetDir
specifies the Directory
that is used for all the generated Components
.As noted above, it's not documented because the feature does not currently work.