Devlead.SourcePack
2026.6.25.9
Prefix Reserved
See the version list below for details.
dotnet add package Devlead.SourcePack --version 2026.6.25.9
NuGet\Install-Package Devlead.SourcePack -Version 2026.6.25.9
<PackageReference Include="Devlead.SourcePack" Version="2026.6.25.9"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="Devlead.SourcePack" Version="2026.6.25.9" />
<PackageReference Include="Devlead.SourcePack"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Devlead.SourcePack --version 2026.6.25.9
#r "nuget: Devlead.SourcePack, 2026.6.25.9"
#:package Devlead.SourcePack@2026.6.25.9
#addin nuget:?package=Devlead.SourcePack&version=2026.6.25.9
#tool nuget:?package=Devlead.SourcePack&version=2026.6.25.9
Devlead.SourcePack
Opinionated MSBuild package for authoring source NuGet packages using standard SDK dotnet pack.
Features
- Ships
.csfiles undercontentFiles/cs/{tfm}/...withBuildAction=Compile - Optional
build/{tfm}/*.propsand*.targetsviaSourcePackFile - Optional
SourcePackBundlefor meta-packages that re-export dependency source/build assets - Per-target-framework dependencies from plain
PackageReferenceitems - No
lib/output (IncludeBuildOutput=falseby default) - Works with class libraries, console apps, and Azure Functions source projects
Installation
Add a development dependency to the project you want to pack:
<PackageReference Include="Devlead.SourcePack" PrivateAssets="all" />
Quick start
<PropertyGroup>
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
<SourcePackRoot>Devlead/MyPackage</SourcePackRoot>
<IsPackable>true</IsPackable>
</PropertyGroup>
<PackageReference Include="Devlead.SourcePack" PrivateAssets="all" />
<SourcePackFile Include="MyPackage.props" Kind="Build" />
<SourcePackFile Include="MyPackage.targets" Kind="Build" />
<SourcePackFile Include="../../README.md" Kind="Metadata" />
Pack in Release:
dotnet pack -c Release
For multi-target projects (TargetFrameworks), pack single-threaded to avoid duplicate contentFiles entries:
dotnet pack -c Release -- /m:1
Devlead.SourcePack sets BuildInParallel=false as an additional safeguard.
Properties
| Property | Default | Description |
|---|---|---|
EnableSourcePack |
true |
Opt out by setting false |
SourcePackRoot |
(required for auto sources) | Root folder under contentFiles/cs/{tfm}/ |
SourcePackPackConfigurations |
Release |
Configurations that pack sources |
SourcePackIncludeGeneratedUsings |
true |
Pack *.GlobalUsings.g.cs from obj/ |
SourcePackBundle
Re-export source and build assets from a restored dependency package into your nupkg (meta-packages / vendoring).
Requires GeneratePathProperty="true" on the matching PackageReference:
<PackageReference Include="Devlead.SourcePack.Sample"
PrivateAssets="all"
GeneratePathProperty="true"
Pack="false" />
<SourcePackBundle Include="Devlead.SourcePack.Sample"
PackagePathPrefix="Devlead/Bundled" />
| Metadata | Default | Description |
|---|---|---|
PackagePathPrefix |
(empty) | Prefix under contentFiles/cs/{tfm}/ for bundled .cs files |
IncludeBuildAssets |
true |
Copy build/{tfm}/*.props and *.targets from the dependency |
PackagePathProperty |
Pkg{Id} |
Override the Pkg... MSBuild property name (rarely needed) |
Example output paths when bundling Devlead.SourcePack.Sample with prefix Devlead/Bundled:
contentFiles/cs/net8.0/Devlead/Bundled/Devlead/Sample/SampleService.csbuild/net8.0/Devlead.SourcePack.Sample.props
SourcePackFile kinds
| Kind | Package path |
|---|---|
Source |
contentFiles/cs/{tfm}/{SourcePackRoot}/... |
Build |
build/{tfm}/{filename} |
Metadata |
package root (README, icon, etc.) |
Build
dotnet run --file cake.cs
Example projects
License
MIT
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.6.29.20 | 161 | 6/29/2026 |
| 2026.6.25.12 | 133 | 6/25/2026 |
| 2026.6.25.9 | 101 | 6/25/2026 |
| 2026.6.23.3 | 169 | 6/23/2026 |