logo

The .Net Core development environment has been taking a minute to settle. When initially released, projects were configured using a project.json file. Part of the purpose of your project.json file was to help inform nuget what metadata should be included with your package. Early in 2017, however, Microsoft deprecated the project.json file, in favor of the .csproj file.

The metadata that Nuget uses from your .csproj file underwent some changes with the deprecation that are not the most intuitive. I was recently trying to publish a .Net Core package to https://nuget.org, and it took me a minute to get all my metadata mapped to my nuget package.

Below are the mappings that I used that are not 1:1, I hope they’re helful to you.

csproj nuget
PackageId id
PackageProjectUrl projectUrl
PackageLicenseUrl licenseUrl
RepositoryType (repository tag metadata, e.g. <repository type="git" url="your-url" />)
RepositoryUrl (repository tag metadata, e.g. <repository type="git" url="your-url" />)

:shipit: