Skip to content

rymeskar/generate_nuget_repro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

This is a showcase of a transparent metapackage for Microsoft.Extensions.Logging for different target frameworks.

Transparent metapackage is a package that includes only a dependency list.

We however wish to enforce the following behavior:

  • Metapackage A depends on packages P1 and P2.
  • Shared Library SL depends on metapackage A.
  • SL is packaged as nuget.
  • SL has packages P1 and P2 marked as dependencies, however, no package A.

This behavior is to not confuse our partners with unknown metapackages A and instead expose the well-known packages P1 and P2.

This can come handy when we want to combine versions of packages that work with different targets. Microsoft.Extensions.Logging is a great example.

Intended consumption of the package within csproj is:

    <ItemGroup>
		<PackageReference Include="Microsoft.IC3.Extensions.Logging" Version="1.0.0.7">
		  <PrivateAssets>all</PrivateAssets>
		</PackageReference>
    </ItemGroup>

Hassle

P1 and P2 dependencies within SL are not marked deterministically when using dotnent pack. Pack capability (msbuild) within Visual Studio run deterministically though.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published