For the complete documentation index, see llms.txt. This page is also available as Markdown.

Suppress dependencies when packing

Some packing scenarios, especially those involving tools, require ignoring all dependencies (PackageReference as well as framework references) from the resulting package dependencies.

I learned of a property supported by dotnet pack for this:

<PropertyGroup>
  <SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking>
</PropertyGroup>

NuGetizer has more flexibility in this regard, providing both a $(PackFrameworkReferences) property as well as granular control over referenced packages via the Pack metadata on each PackageReference:

<PropertyGroup>
  <!-- Opt out of all framework references/dependencies -->
  <PackFrameworkReferences>false</PackFrameworkReferences>
</PropertyGroup>

<ItemDefinitionGroup>
  <PackageReference>
    <!-- Unless specified otherwise, opt-out of all dependencies -->
    <Pack>false</Pack>
  </PackageReference>
</ItemDefinitionGroup>

<ItemGroup>
  <!-- Example of explicitly opting in for a particular one -->
  <PackageReference Include="Foo" Pack="true" />
  <PackageReference Include="Bar" /> <!-- Will not be packed -->
</ItemGrop>

But in order to simplify this scenario further, both the compatibility SuppressDependenciesWhenPacking property as well as a new PackDependencies property is supported in nugetizer to achieve the same.

Last updated