title | authors | type | slug | project | description | version | lastmod | date | license | keywords | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DGMJR-IO SDK |
|
readme |
dgmjr-io-sdk |
shared |
The DGMJR-IO SDK is a collection of `.props` and `.targets` files that are used to build and package the DGMJR projects. It sets a whole boatload of default values and does a shit ton of stuff automagically. |
0.0.1-Local |
2023-07-14 07:49:58 UTC |
2023-07-14 07:49:16 UTC |
MIT |
|
The DGMJR-IO SDK is a collection of .props
and .targets
files that are used to build and package the DGMJR projects. It sets a whole boatload of default values and does a shit ton of stuff automagically.
Put the following code in your Directory.Build.props
file:
<Include Sdk="DgmjrSdk" File="Sdk.props" />
And put the following code in your Directory.Build.targets
file:
<Include Sdk="DgmjrSdk" File="Sdk.targets" />
And make sure to add the following to your global.json
file:
"msbuild-sdks":{
"DgmjrSdk": "0.0.1" // (or the current package version)
}
Then compile and run your project and it will have all the DGMJR-IO SDK defaults. These include the following:
Author
- withInitials
andEmail
metadata, which populate theAuthors
property of the MSBuild (and NuGet) projectOwner
- withInitials
andEmail
metadata, which populate theOwners
andCopyright
properties of the MSBuild (and NuGet) projectPackageTag
- which concatenates all instances of it and populates thePackageTags
property of the MSBuild (and NuGet) projectSourceCodeReference
, which behaves just like aPackageReference
except it just pulls theContentFiles
andBuild
assets from the packageSourceGenerator
, which behaves just like aPackageReference
except it just pulls theAnalyzers
andBuild
assets from the packageNoWarn
, which adds all instances to theNoWarn
property
EnsurePackageReadme
, which ensures the package contains aREADME.md
file at the root; if not, it generates one from theTitle
andDescription
properties and embeds it into the NuGet packageEnsurePackageIcon
, which ensures the package contains an icon file; if theres no file namedIcon.(png/jpg/jpeg)
at the root, it will use a default iconRemoveDuplicateUsings
, which removes any duplicateUsing
items from the projectRemoveDuplicatePackageReferences
, which removes any duplicateUsing
items from the projectPackageProjectName.targets
- a file that packages any file in the root directory named[MSBuildProjectName].targets
into thebuild
folder of the NuGet packagePackageProjectName.props
- a file that packages any file in the root directory named[MSBuildProjectName].props
into thebuild
folder of the NuGet package
PackageVersionOverride
, which allows you to override the package version calculated byMinVer
- A default
UserSecrets
property - Default
AssetTargetFallback
s for all .NET versions from .NETStandard 2.0 through .NET 8.0 - Default values for generating XML documentation as well as pulling the XML docs from referenced packages
- All
Include[Whatever]OutputGroup
properties set totrue
JustInTimeVersioning
enabledNuGetPush
enabled
- Assembly signing - ensures the assembly is signed by a key called
dgmjr.snk
located in theAssets
folder. There's alsodgmjr.pub
(the binary version of the public key) anddgmjr.pub.asc
, which contains the plain text public key and token. TestingLocal
- Overrides theAssemblyVersion
attribute to always be0.0.1-Local
when theConfiguration
is set toLocal
Icon.png
, a default icon file, which will be applied to any package that doesn't have one.NuGetizer
enabled by default