Open
Description
Describe the Bug
NuGetizer is ignoring central package management.
Steps to Reproduce
- Create an empty solution
- Create a
Directory.Packages.props
and enable central package management for the solution.
<Project>
<PropertyGroup>
<EnablePackageVersionOverride>true</EnablePackageVersionOverride>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="NuGetizer" Version="1.2.3" />
<PackageVersion Include="Unity" Version="5.11.10" Condition=" '$(TargetFramework)' == 'net8.0' " />
<PackageVersion Include="Unity" Version="4.0.1" Condition=" '$(TargetFramework)' == 'net472' " />
</ItemGroup>
</Project>
- Add a class library with the following project file content
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0;net472</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
<PackageId>MyClassLib</PackageId>
<Version>1.0.0</Version>
<Nullable>enable</Nullable>
<LangVersion>12</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NuGetizer" />
<PackageReference Include="Unity" />
</ItemGroup>
</Project>
Expected Behavior
I expected the following dependencies in the nuspec
file when I dotnet pack
:
<dependencies>
<group targetFramework="net8.0">
<dependency id="Unity" version="5.11.10" />
</group>
<group targetFramework=".NETFramework4.7.2">
<dependency id="Unity" version="4.0.1" />
</group>
</dependencies>
but I am getting:
<dependencies>
<group targetFramework="net8.0">
<dependency id="Unity" version="5.11.10" />
</group>
<group targetFramework=".NETFramework4.7.2">
<dependency id="Unity" version="5.11.10" />
</group>
</dependencies>
Exception with Stack Trace
Version Info
Additional Info
Central Package Management works fine when I use dotnet pack
command alone without NuGetizer.
Similarly, I can conditionally specify different versions in the project file with NuGetizer if the Central Package Management disabled.
The problem is that I can't use both Central Package Management and NuGetizer to use different versions of a dependency per target when multitargeting.