I have a NuGet .nuspec that looks like this:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
<metadata>
<id>XXXXXXXXX</id>
<version>1.0.0-alpha</version>
<authors>XXXXXXXXX</authors>
<owners>XXXXXXXXXXX</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>XXXXXXXXXXXXXXXXXXX</description>
<copyright>XXXXX</copyright>
<dependencies>
<group>
<dependency id="Dependency1" version="1.0.0" />
</group>
<group targetFramework=".NETFramework3.5">
<dependency id="Dependency2" version="3.9.71" />
</group>
<group targetFramework=".NETFramework4.0">
<dependency id="Dependency3" version="4.0.30" />
<dependency id="Dependency4" version="4.0.30" />
<dependency id="Dependency5" version="4.0.30" />
<dependency id="Dependency6" version="4.0.30" />
</group>
</dependencies>
</metadata>
<files>
<file src=".XXX.Net35\bin\Release\XXX.dll" target="lib\net35" />
</files>
</package>
When I package the NuGet package with the nuspec via:
nuget pack XXXXXX.nuspec
Everything is good, the dependency groups are all there. If I package with the csproj like:
nuget pack XXXXXX.csproj
The dependencies are all lumped into one target rather than in groups. I really want the functionality of using the $id$ and $version$ variables with the ability to do dependency groups based on target framework.
Anyone know of a solution?
Make sure that you go to the directory that has your .csproj
file and execute nuget spec
to create a .nuspec
file based on your .csproj
. Investigate it and make sure it looks as you want, customize it for various target frameworks, then nuget pack XXXXXX.csproj
to have it build and respect the .nuspec
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With