C# | Create Nuget Package using .NET Standard

Hassan BOLAJRAF - Jul 23 - - Dev Community
Note
You can check other posts on my personal website: https://hbolajraf.net

Tools and technologies used

  • Visual Studio 2022
  • .NET Standard 2.1
  • Nuget.exe

Implementation

New Project Creation

Under Visual Studio create a new Project Class Library and use .NET Standard 2.1 as target framework due to compatibility reason with latests versions of .NET CORE Frameworks.

Use Nuget CLI to generate files

1.Download Nuget.exe file
Use the following link to download the latests version of Nuget.exe file.

2.Generate nuspec file
Under the new project folder created befor, open a cmd console and run the comand bellow in order to generate the nuspec file.

nuget spec NewProjectName.csproj
Enter fullscreen mode Exit fullscreen mode

The result of the command should generate a new file which has the content below :

<?xml version="1.0" encoding="utf-8"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <license type="expression">MIT</license>
    <!-- <icon>icon.png</icon> -->
    <projectUrl>http://project_url_here_or_delete_this_line/</projectUrl>
    <description>$description$</description>
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
    <copyright>$copyright$</copyright>
    <tags>Tag1 Tag2</tags>
  </metadata>
</package>
Enter fullscreen mode Exit fullscreen mode

3.Generate nupkg file

You have two solutions order to generate the nuget package file(nupkg)

using the post-build event of the project

Under Visual Studio right click on the NewProjectName.crproj and select post-build event tab.
After that put the command bellow and Build the solution

nuget pack "$(ProjectPath)" -Symbols -Properties Configuration=$(ConfigurationName) -IncludeReferencedProjects -OutputDirectory "C:\Dev\nuget_packages\NewProjectName\"
Enter fullscreen mode Exit fullscreen mode

using the Nuget CLI command

Under the cmd window tape the command bellow in order to generate the nuget package

nuget pack MyProject.csproj -properties Configuration=Release -OutputDirectory "C:\Dev\nuget_packages\NewProjectName\"
Enter fullscreen mode Exit fullscreen mode

In all cases the new nuget package file will be generated under the output directory : *C:\Dev\nuget_packages\NewProjectName*

What next ?

Once you've created a package, which is a .nupkg file, you can publish it to the gallery of your choice(Artifactory, Azure artifacts or GitHub Package registry)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player