This tool uses MSBuild logic to control which projects should be listed in the license file, giving you a high grade of flexibility.
All projects containing a property IsDeploymentTarget
set to true
and their dependencies are included in the license file.
You can mark individual projects by adding the IsDeploymentTarget
property to the project file:
- Include the project and all references:
<IsDeploymentTarget>true</IsDeploymentTarget>
You can include several projects by convention by adding conditional properties in the Directory.Build.targets file:
- Include all executables:
<IsDeploymentTarget Condition="'$(IsDeploymentTarget)'=='' AND '$(IsTestProject)'!='True' AND '$(OutputType)'=='Exe'">true</IsDeploymentTarget>
- Include all projects ending with
Something
:
<_IsSomeProject>$(MSBuildProjectName.ToUpperInvariant().EndsWith("SOMETHING"))</_IsSomeProject>
<IsDeploymentTarget Condition="'$(IsDeploymentTarget)'=='' AND $(_IsSomeProject)">true</IsDeploymentTarget>
dotnet tool install TomsToolbox.LicenseGenerator -g
build-license [options]
-i, --input <input> (REQUIRED) The path to the solution file to process.
-o, --output <output> The name of the license file that is created.
An existing file will be overwritten without confirmation.
Default is Notice.txt in the same folder as the solution.
-e, --exclude <exclude> A regular expression to specify package ids to exclude from output.
--recursive A flag to indicate that all dependencies should be scanned recursively.
--offline A flag to indicate that only the locally cached packages should be scanned (requires a restore beforehand).
--version Show version information
-?, -h, --help Show help and usage information