NuGet paketi oluşturma
Razor sınıf kitaplığınızı paketlediğinizde, diğer Blazor projelerinin başvurabileceği bir ikili teslim edilebilir öğeniz olur ve içindeki bileşenler bu projelerde kullanılabilir.
Önceki bir ünitede, Blazor uygulamaları için modal bir diyalog penceresi sunan modalli bir bileşene sahip bir Razor sınıf kitaplığı oluşturdunuz. Bu bileşeni diğer uygulamalarda kullanılmak üzere paylaşmak için, bu bileşeni bir depoya veya diğer geliştiricilerin edinebileceği bir klasöre paketleyip yerleştirmeniz gerekir.
Bu ünitede bu projeyi güncelleştirecek ve bir NuGet paketi oluşturacaksınız. Son olarak, bu NuGet paketini Blazor sunucu uygulamanıza dağıtırsınız.
FirstClassLibrary'ye paket özellikleri ekleme
İlk olarak FirstClassLibrary projesini NuGet paketi olarak dağıtım için paketlenmesine izin veren özelliklerle güncelleştirin.
FirstClassLibrary projesi için proje dosyasını açın. Visual Studio Çözüm Gezgini'nde projeye çift tıklayın veya Visual Studio Code'da FirstClassLibrary.csproj dosyasını açın.
Dosyanın üst kısmındaki etiketin olduğu
<PropertyGroup>bölümde kapanış</PropertyGroup>etiketinden önce aşağıdaki içeriği ekleyin:<PackageId>My.FirstClassLibrary</PackageId> <Version>0.1.0</Version> <Authors>YOUR NAME</Authors> <Company>YOUR COMPANY NAME</Company> <Description>This is a Razor component library with a cool modal window component.</Description> </PropertyGroup>Bu kod Razor sınıf kitaplığınızı
<PackageId>"My.FirstClassLibrary" ve<Version>0.1.0 olarak tanımlar. Bu iki alana kendi adınızı ve şirket adınızı girin.
Kitaplığı yeniden kullanmak üzere paketleme
Ardından komut satırında .NET komutunu çalıştırarak Razor sınıf kitaplığını paketleyin; böylece çözümünüz dışındaki diğer uygulamalar buna başvurabilir.
Sürekli tümleştirme işleminizde aynı adımları çalıştırarak bir kitaplığı paketleyebilir ve NuGet.org, GitHub deposuna veya kuruluşunuzun paylaşabileceği başka bir konuma dağıtabilirsiniz.
FirstClassLibrary.csproj dosyasıyla aynı klasörde aşağıdaki komutu çalıştırın:
dotnet pack
Bu komut, bin/Release klasörünüzde My.FirstClassLibrary.0.1.0.nupkg adlı bir dosya yazar.
MyBlazorApp uygulamasına NuGet paketine referans ekleyin
Web uygulamasıyla aynı klasör yapısında olduğundan, MyBlazorApp uygulamanızda FirstClassLibrary projesine zaten başvurmuştunuz.
Şimdi bu proje başvuruyu geri alır ve daha önce oluşturduğunuz NuGet paketine bir başvuru eklersiniz.
Aşağıdaki adımlar tipik bir yapılandırmayı açıklamaz . Bunlara başvurmak isteyen uygulamalarla aynı klasörlerde veya çözümde bulunan kitaplık projeleri, önceki alıştırmada gördüğünüz gibi projeye doğrudan başvurabilir.
Visual Studio'da MyBlazorApp proje adına çift tıklayarak veya dosyayı Visual Studio Code'da açarak MyBlazorApp.csproj dosyasını açın.
MyBlazorApp.csproj dosyasında aşağıdaki satırı kaldırın:
<ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />MyBlazorApp.csproj ile aynı klasörde aşağıdaki komutu çalıştırın:
dotnet add package My.FirstClassLibrary -s ../FirstClassLibrary/bin/ReleaseBu komut daha önce oluşturduğunuz NuGet paketini alır, yerel NuGet paket önbelleğinize bir kopya yükler ve ardından MyBlazorApp.csproj dosyasına bu pakete bir başvuru ekler.
İşinizi kontrol edin
Yeni paketiniz düzgün yüklendi mi? FirstServer uygulamasını başlatabilir ve uygulama başlatıldığında kalıcı bir pencere görebilir misiniz?
Şimdi şunu öğrenelim:
Aşağıdaki komutu çalıştırarak Visual Studio'da F5'i seçerek veya MyBlazorApp klasöründe MyBlazorApp uygulamasını başlatın:
dotnet runTarayıcınızda MyBlazorApp uygulamasının giriş sayfasına gidin:
https://localhost:5000.Benim ilk Modal iletişim kutum görüntüleniyor mu? Öyleyse tebrikler! FirstClassLibrary projesini başarıyla paketleyip dağıttınız. Her yerdeki uygulamalar artık yeni oluşturduğunuz NuGet paketine başvurarak kalıcı pencere bileşeninizi kullanabilir.