Làm sao để publish package lên Nuget.org

1. Nuget là gì?

Đã có người trả lời câu hỏi này rồi, nên bạn cứ coi ở đây: https://anhdung.me/2015/04/02/nuget-la-gi/

Thật ra, nếu mà bạn không biết Nuget là gì thì chắc cũng không cần phải coi thêm mấy bước sau chi nữa đâu.

2. Đăng ký tài khoản trên nuget.org

Vào https://www.nuget.org/ là xong thôi. Nuget hiện chỉ cần có Microsoft account (chẳng hạn như Office 365, các dịch vụ mail xưa nay hotmail/ outlook/ live) là có thể Signin vô được.

Signin vô được rồi thì click vô account name của mình, chọn mục API Keys rồi click Create để tạo key. Tạo xong nhớ copy để xuống bước 3 mình có mình xài nghen.

3. Build code và publish

Cứ làm cái gì mình thích, bên dưới là một vài thứ hay ho bạn có thể thêm vào trong file csproj để hiển thị khi publish lên Nuget. Trong đó thuộc tính GenerateDocumentationFile sẽ cho phép giữ nguyên thông tin comment không bị mất.

My Awesome Package true AwesomePackage 1.0.0 Fun Corp Fun Inc Sau khi xong xuôi thì Build lại project thử, build xong thì Pack. Giờ đây trong thư mục bin/Debug sẽ xuất hiện thêm file xxx.version.nupkg, đây chính là file bạn cần publish lên. Giờ mở terminal lên, cd vô ngay thư mục vừa tạo ra file nupkg hồi nãy. dotnet nuget push xxx.version.nupkg --api-key \[key hồi này mới copy] --source https://api.nuget.org/v3/index.json # 4. Xong Vô lại nuget.org chọn Manage Packages rồi coi package đã được duyệt và listed chưa. Trong này cũng có nhiều chỗ hay ho như là update lại thông tin Readme, bla bla bla... **Hư Trúc**

Controller, ControllerBase, ApiController

Hồi đầu nhìn thấy có vẻ giống nhau, hơi lộn lẹo nên phải biên lại đây cho dễ nhớ.

Bạn sẽ nhìn thấy 3 class này khi khởi tạo dự án WebAPI (là ASP.NET Core Web API hoặc là ASP.NET Web Application (.NET Framework).

Theo đó thì trên .NET Framework API sẽ như bên dưới. Muốn thay đổi route thì phải chỉnh trong App_Start/WebApiConfig.cs

public class SampleAPIController : ApiController\ {\ // your code in here\ }

Còn trên NET Core thì tiện hơn có thể set route theo từng controller hoặc từng method luôn, khá là tiện dụng với annonation method.

[ApiController]\ [Router("[controller]")\ public class SampleAPIController : ControllerBase\ {\ // your code in here\ }

Còn Controller thì được dùng cho MVC web pages, tất nhiên rồi!

Tham khảo thêm ở đây: https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-6.0

Hư Trúc

Some tricks with NET 6.0

IDE: Visual Studio 2022

Hide Warning Code

Open .csproject file, add this line below into the <PropertyGroup>

<NoWarn>$(NoWarn);1591</NoWarn>

In there: 1591 is the Code show in Error List

Hư Trúc

Overloadable operators

C# cho phép dùng operator với Class, Struct

public struct Complex
        {
            public double Real { get; set; }
            public double Imaginary { get; set; }

            public static Complex operator +(Complex c1, Complex c2)
            {
                return new Complex
                {
                    Real = c1.Real + c2.Real,
                    Imaginary = c1.Imaginary + c2.Imaginary
                };
            }
        }

Nhiếp Phong

Đếm số dòng code (Line of Code, LOC)

Nếu xài Visual Studio thì có cái tool Calculate Code Metrics trong menu Analyze.

Hoặc không thì mở Power Shell lên cd vô folder cần đếm rồi chạy, nhớ thêm/ xóa mấy cái file ext cần thiết nha.

(gci -include .cs,.xaml,.js,.cshtml -recurse | select-string .).Count