Comment on page
Hide contentFiles from your nuget packages
When you package compile items with your package (i.e.
.cs)
, they are visible by default in your consumer's project. That's not always what you want. From a github issue on NuGet, I learned a neat trick to hide all the files in your package, automatically! All you need is to include a .props file in your package build
folder (i.e. if your package is named Foo
, make sure the file ends up build\Foo.props
)<Project>
<ItemGroup>
<Compile Update="@(Compile)">
<Visible Condition="'%(NuGetItemType)' == 'Compile' and '%(NuGetPackageId)' == 'Foo'">false</Visible>
</Compile>
</ItemGroup>
</Project>
This works because NuGet generates a .props file containing all your contentFiles items, under the
obj
folder, which contains both pieces of metadata used above to filter the visibility on items coming from our package.