Creating NuGet Packages the easy way with .NET Standard in C#

preview_player
Показать описание
NuGet packages are a way to share versioned code with the world. If you have done any development in C#, you have used NuGet packages, even if you didn't know it. Almost every template in Visual Studio is made up of NuGet packages. That allows us to create flexible applications that upgrade parts of itself without upgrading everything. For instance, if a new version of Dapper comes out, I can continue to use the old version or I can upgrade to the new version. If I have a problem with the new version, I can roll back to the old version.

We take these packages for granted but while almost every developer uses NuGet packages, relatively few ever create NuGet packages. Part of that comes from not thinking about code reusability beyond a given project but a large part of it comes from not knowing how to create NuGet packages. Today, we are going to address that second issue, and at least touch on the first one.

NuGet packages have become so easy to create, we will actually spend more time on deploying, managing, and hosting our packages then we will on creating them.

0:00 - Intro
2:37 - Getting started: creating .NET standard Library
6:04 - Sharing code library
9:00 - Sharing code library with NuGet package: versions
10:24 - NuGet naming rules
11:26 - NuGet publishing
12:55 - Package feed using Azure DevOps: setup
19:39 - Creating a NuGet package
27:28 - Uploading NuGet to Azure Devops
34:19 - Adding your NuGet to a project: creating a new project
35:51 - Adding your NuGet to a project: NuGet reference and using the package
44:55 - Automation: DevOps Repository setup, add source control
48:29 - Automation: DevOps "Builds" setup
55:44 - Automation: DevOps "Releases" setup
59:53 - Automation: Code changes, auto-pushing new version, release
1:06:54 - Updating and releasing NuGet package with automation in Azure DevOps
1:10:36 - Summary and concluding remarks
Рекомендации по теме
Комментарии
Автор

I'm about to start working as a release manager for the first time. Your video really helps me understand what nuget package is, why we need it and how we use it! Thank you for your selfless sharing!!!

haozheng
Автор

Thank you Tim, your Tutorial are awesome and professional as always.
I'm surprised that you only have 75K subscribers

bobkerman
Автор

Hello, I had looked for an explanation on this subject and even found several published by people of my nationality, but even though I used the automatic translator on YouTube to help me with your videos, your teaching is incredible. I'm a big fan of yours, congratulations 👏👏

emersonstori
Автор

The word that you were looking for was product of the numbers

LDdrums
Автор

CI/CD was always pretty daunting for me and with your help I just set up my first full pipeline. Thank you so much!

sephiroth
Автор

It's my second time to watch this video and really find it's helpful! It let me understand how it works underneath our big project and how we coordinate each other.

bohuang
Автор

Private nuget packages. Exactly what I wanted to learn! I can already tell this is going to be a great tutorial video.

Vietnamkid
Автор

Very awesome. I have already been doing this and its great. I have 8 different libraries that are all part of a large project and with all the CI/CD setup and the Nuget packages setup, it makes life so much easier. I love what MS is doing with Azure Devops and the direction they are taking with the NET stack.

kinsondigital
Автор

Great tutorial. Looks like some things have changed in Visual Studio 2022, but basically it is the same. Build pipeline stuff at end was a nice bonus.

alanrosetrimble
Автор

This is an awesome video, not just about nuget but learning about Devops CI/CD! Glad I found this!

STUPIDYOUTUBE_HIDINGMSGS
Автор

Thank you Tim. I have found your videos very helpful. I think you do a pretty good job at explaining topics.

nelsonrivers
Автор

So many questions I have. Half of my DevOps screens don't look like yours, so I'm struggling to follow your steps. Where is this Build screen that shows the "Artifacts" button at the top that you can use to explore the artifacts (55:30)?? I have been working with DevOps builds for 3 years and have never seen this screen. When I click through a successful build agent job, I only see logs from each step. There are no buttons at the top right (Release, Artifacts dropdown, etc). I would love to see the artifacts that were published after a successful build but have never seen any screen that shows them.

bwzffgh
Автор

Hi Tim, great video.
Could you please make part 2 of this video and add a debugging part.

Like when you link it, if we have errors we need to check for the error, please add that part . 😊

And which all files need to add(like .pdb)

shanmukhapatil
Автор

Just awesome!!! congrats for the good content Tim...!!!

ramoneliasrodriguezalba
Автор

thank you so much! I've been drilling the internet for a solution and only you who has saved the day form me! Again, thank you very much

Ali-xxsj
Автор

I love what you do, keep it up, hope all the best for you Tim .
Thank you

AbubakrMahdiSan
Автор

Hey Tim! Thanks again for your videos. As a learner, I find them invaluable! I was wondering if you wouldn't mind explaining simple network connections (between two C# apps), hopefully with the context of a client to server "one-to-many" scenario. The reason I ask is, there are a lot of different ways to do connections (TCP, UDP, NamedPipeServerStreams, etc), and I just can't find a coherent answer as to how to keep multiple connections open, monitor them, and run async processes while connected. That's not so simple of a request, is it? Hmm, well, maybe at least one of those topics in networking then? Best of luck!

farsidesc
Автор

Another great video. In case no one has posted the answer, multiplying 2 numbers gives you a "product."

thomkb
Автор

Great Video, Lots of Good info especially for non-Traditional programmers

vkpunique
Автор

Hey Tim, very nice job! Now... what is that thing that made the PowerShell transparent effect when you grabbed it and moved it around? :)

maxbitran