Aracılığıyla paylaş


Visual Studio'da ASP.NET Core ile LibMan kullanma

Yayınlayan Scott Addie

Visual Studio, ASP.NET Core projelerinde LibMan için yerleşik desteğe sahiptir:

  • Derlemede LibMan geri yükleme işlemlerini yapılandırma ve çalıştırma desteği.
  • LibMan geri yükleme ve temizleme işlemlerini tetikleme menü öğeleri.
  • Kitaplıkları bulmak ve dosyaları projeye eklemek için arama iletişim kutusu.
  • LibMan bildirim dosyası için libman.jsondüzenleme desteği.

Örnek kodu görüntüleme veya indirme (indirme)

Önkoşullar

Kitaplık dosyaları ekleme

Kitaplık dosyaları bir ASP.NET Core projesine iki farklı yolla eklenebilir:

  1. İstemci Tarafı Kitaplığı Ekle iletişim kutusunu kullanma
  2. LibMan bildirim dosyası girdilerini el ile yapılandırma

İstemci Tarafı Kitaplığı Ekle iletişim kutusunu kullanma

İstemci tarafı kitaplığı yüklemek için şu adımları izleyin:

  • Çözüm Gezgini'da, dosyaların eklenmesi gereken proje klasörüne sağ tıklayın. İstemci Tarafı Kitaplığı Ekle'yi>seçin. İstemci Tarafı Kitaplığı Ekle iletişim kutusu görüntülenir:

    İstemci Tarafı Kitaplığı Ekle iletişim kutusu

  • Sağlayıcı açılan listesinden kitaplık sağlayıcısını seçin. CDNJS varsayılan sağlayıcıdır.

  • Kitaplık metin kutusuna getirmek için kitaplık adını yazın. IntelliSense, sağlanan metinle başlayan kitaplıkların listesini sağlar.

  • IntelliSense listesinden kitaplığı seçin. Kitaplık adının simgesi ve seçilen sağlayıcı tarafından bilinen en son kararlı sürümle @ son eklendiğine dikkat edin.

  • Hangi dosyaların eklendiğine karar verin:

    • Kitaplığın tüm dosyalarını eklemek için Tüm kitaplık dosyalarını ekle radyo düğmesini seçin.
    • Kitaplık dosyalarının bir alt kümesini eklemek için Belirli dosyaları seç radyo düğmesini seçin. Radyo düğmesi seçildiğinde, dosya seçici ağacı etkinleştirilir. İndirilmesi gereken dosya adlarının sol kısmındaki kutuları işaretleyin.
  • Dosyaları Hedef Konum metin kutusunda depolamak için proje klasörünü belirtin. Öneri olarak, her kitaplığı ayrı bir klasörde depolayın.

    Önerilen Hedef Konum klasörü, iletişim kutusunun başlatıldığı konumu temel alır:

    • Proje kökünden başlatılırsa:
      • wwwroot/lib, wwwroot varsa kullanılır.
      • wwwroot yoksa lib kullanılır.
    • Proje klasöründen başlatılırsa, ilgili klasör adı kullanılır.

    Klasör önerisi kitaplık adıyla son eklenmiştir. Aşağıdaki tabloda, bir Razor Pages projesine jQuery yüklenirken klasör önerileri gösterilmektedir.

    Başlatma konumu Önerilen klasör
    proje kökü (wwwroot varsa) wwwroot/lib/jquery/
    proje kökü (wwwroot yoksa) lib/jquery/
    Projedeki Sayfalar klasörü Sayfalar/jquery/
  • Dosyaları içindeki yapılandırmaya libman.jsongöre indirmek için Yükle düğmesine tıklayın.

  • Yükleme ayrıntıları için Çıkış penceresinin Kitaplık Yöneticisi akışını gözden geçirin. Örneğin:

    Restore operation started...
    Restoring libraries for project LibManSample
    Restoring library jquery@3.3.1... (LibManSample)
    wwwroot/lib/jquery/jquery.min.js written to destination (LibManSample)
    wwwroot/lib/jquery/jquery.js written to destination (LibManSample)
    wwwroot/lib/jquery/jquery.min.map written to destination (LibManSample)
    Restore operation completed
    1 libraries restored in 2.32 seconds
    

LibMan bildirim dosyası girdilerini el ile yapılandırma

Visual Studio'daki tüm LibMan işlemleri, proje kökünün LibMan bildiriminin (libman.json) içeriğini temel alır. Proje için kitaplık dosyalarını yapılandırmak üzere el ile düzenleyebilirsiniz libman.json . Visual Studio kaydedildikten sonra libman.json tüm kitaplık dosyalarını geri yükler.

Düzenleme için açmak libman.json için aşağıdaki seçenekler vardır:

  • Çözüm Gezgini'da dosyaya libman.json çift tıklayın.
  • Çözüm Gezgini'de projeye sağ tıklayın ve İstemci Tarafı Kitaplıklarını Yönet'i seçin.
  • Visual Studio Projesi menüsünde İstemci Tarafı Kitaplıklarını Yönet'i seçin.

libman.json† Dosya proje kökünde zaten yoksa, varsayılan öğe şablonu içeriğiyle oluşturulur.

Visual Studio renklendirme, biçimlendirme, IntelliSense ve şema doğrulaması gibi zengin JSON düzenleme desteği sunar. LibMan bildiriminin JSON şeması konumunda https://json.schemastore.org/libmanbulunur.

Aşağıdaki bildirim dosyasıyla LibMan, özelliğinde libraries tanımlanan yapılandırmaya göre dosyaları alır. içinde libraries tanımlanan nesne değişmez değerlerinin açıklaması aşağıda belirtilmiştir:

  • CDNJS sağlayıcısından jQuery sürüm 3.3.1'in bir alt kümesi alınır. Alt küme, jquery.js, ve jquery.min.map özelliğinde filesjquery.min.jstanımlanır. Dosyalar projenin wwwroot/lib/jquery klasörüne yerleştirilir.
  • Bootstrap sürüm 4.1.3'ün tamamı alınır ve bir wwwroot/lib/bootstrap klasörüne yerleştirilir. Nesne değişmez değerinin provider özelliği özellik değerini geçersiz kılar defaultProvider . LibMan, unpkg sağlayıcısından Bootstrap dosyalarını alır.
  • Lodash'ın bir alt kümesi, kuruluş içindeki bir idare kuruluşu tarafından onaylandı. lodash.js ve lodash.min.js dosyaları C:\temp\lodash\ konumundaki yerel dosya sisteminden alınır. Dosyalar projenin wwwroot/lib/lodash klasörüne kopyalanır.
{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.3.1",
      "files": [
        "jquery.min.js",
        "jquery.js",
        "jquery.min.map"
      ],
      "destination": "wwwroot/lib/jquery/"
    },
    {
      "provider": "unpkg",
      "library": "bootstrap@4.1.3",
      "destination": "wwwroot/lib/bootstrap/"
    },
    {
      "provider": "filesystem",
      "library": "C:\\temp\\lodash\\",
      "files": [
        "lodash.js",
        "lodash.min.js"
      ],
      "destination": "wwwroot/lib/lodash/"
    }
  ]
}

Not

LibMan, her sağlayıcıdan her kitaplığın yalnızca bir sürümünü destekler. Dosya, libman.json belirli bir sağlayıcı için aynı kitaplık adına sahip iki kitaplık içeriyorsa şema doğrulaması başarısız olur.

Kitaplık dosyalarını geri yükleme

Visual Studio'dan kitaplık dosyalarını geri yüklemek için proje kökünde geçerli libman.json bir dosya olmalıdır. Geri yüklenen dosyalar projeye her kitaplık için belirtilen konuma yerleştirilir.

Kitaplık dosyaları ASP.NET Core projesinde iki yolla geri yüklenebilir:

  1. Derleme sırasında dosyaları geri yükleme
  2. Dosyaları el ile geri yükleme

Derleme sırasında dosyaları geri yükleme

LibMan, tanımlı kitaplık dosyalarını derleme işleminin bir parçası olarak geri yükleyebilir. Varsayılan olarak, derlemede geri yükleme davranışı devre dışı bırakılır.

Derlemede geri yükleme davranışını etkinleştirmek ve test etmek için:

  • Çözüm Gezgini sağ tıklayın libman.json ve bağlam menüsünden Derlemede İstemci Tarafı Kitaplıklarını Geri Yüklemeyi Etkinleştir'i seçin.

  • NuGet paketi yüklemeniz istendiğinde Evet düğmesine tıklayın. Microsoft.Web.LibraryManager.Build NuGet paketi projeye eklenir:

    <PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.113" />
    
  • LibMan dosya geri yükleme işleminin gerçekleştiğini onaylamak için projeyi derleyin. Paket, Microsoft.Web.LibraryManager.Build projenin derleme işlemi sırasında LibMan çalıştıran bir MSBuild hedefi ekler.

  • LibMan etkinlik günlüğü için Çıkış penceresinin Derleme akışını gözden geçirin:

    1>------ Build started: Project: LibManSample, Configuration: Debug Any CPU ------
    1>
    1>Restore operation started...
    1>Restoring library jquery@3.3.1...
    1>Restoring library bootstrap@4.1.3...
    1>
    1>2 libraries restored in 10.66 seconds
    1>LibManSample -> C:\LibManSample\bin\Debug\netcoreapp2.1\LibManSample.dll
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    

Derlemede geri yükleme davranışı etkinleştirildiğinde, bağlam menüsünde Derlemede libman.json İstemci Tarafı Kitaplıklarını Geri Yüklemeyi Devre Dışı Bırak seçeneği görüntülenir. Bu seçenek seçildiğinde paket başvurusu proje dosyasından kaldırılır Microsoft.Web.LibraryManager.Build . Sonuç olarak, istemci tarafı kitaplıkları artık her derlemede geri yüklenmez.

Derlemede geri yükleme ayarından bağımsız olarak, bağlam menüsünden istediğiniz zaman libman.json el ile geri yükleyebilirsiniz. Daha fazla bilgi için bkz . Dosyaları el ile geri yükleme.

Dosyaları el ile geri yükleme

Kitaplık dosyalarını el ile geri yüklemek için:

  • Çözümdeki tüm projeler için:
    • Çözüm Gezgini çözüm adına sağ tıklayın.
    • İstemci Tarafı Kitaplıklarını Geri Yükle seçeneğini belirleyin.
  • Belirli bir proje için:
    • Çözüm Gezgini'da dosyaya libman.json sağ tıklayın.
    • İstemci Tarafı Kitaplıklarını Geri Yükle seçeneğini belirleyin.

Geri yükleme işlemi çalışırken:

  • Visual Studio durum çubuğundaki Görev Durum Merkezi (TSC) simgesi animasyonlu olacak ve Geri yükleme işlemi başlatıldı ifadesini okuyacak. Simgeye tıklanması, bilinen arka plan görevlerini listeleyen bir araç ipucu açar.

  • İletiler, Çıkış penceresinin durum çubuğuna ve Kitaplık Yöneticisi akışına gönderilir. Örneğin:

    Restore operation started...
    Restoring libraries for project LibManSample
    Restoring library jquery@3.3.1... (LibManSample)
    wwwroot/lib/jquery/jquery.min.js written to destination (LibManSample)
    wwwroot/lib/jquery/jquery.js written to destination (LibManSample)
    wwwroot/lib/jquery/jquery.min.map written to destination (LibManSample)
    Restore operation completed
    1 libraries restored in 2.32 seconds
    

Kitaplık dosyalarını silme

Visual Studio'da daha önce geri yüklenen kitaplık dosyalarını silen temizleme işlemini gerçekleştirmek için:

  • Çözüm Gezgini'da dosyaya libman.json sağ tıklayın.
  • İstemci Tarafı Kitaplıklarını Temizle seçeneğini belirleyin.

Kitaplık dışı dosyaların yanlışlıkla kaldırılmasını önlemek için temizleme işlemi tüm dizinleri silmez. Yalnızca önceki geri yüklemede yer alan dosyaları kaldırır.

Temizleme işlemi çalışırken:

  • Visual Studio durum çubuğundaki TSC simgesi animasyonlu olacak ve İstemci kitaplıkları işlemi başlatılacaktır. Simgeye tıklanması, bilinen arka plan görevlerini listeleyen bir araç ipucu açar.
  • İletiler, Çıkış penceresinin durum çubuğuna ve Kitaplık Yöneticisi akışına gönderilir. Örneğin:
Clean libraries operation started...
Clean libraries operation completed
2 libraries were successfully deleted in 1.91 secs

Temizleme işlemi yalnızca projedeki dosyaları siler. Kitaplık dosyaları, gelecekteki geri yükleme işlemlerinde daha hızlı almak için önbellekte kalır. Yerel makinenin önbelleğinde depolanan kitaplık dosyalarını yönetmek için LibMan CLI'sini kullanın.

Kitaplık dosyalarını kaldırma

Kitaplık dosyalarını kaldırmak için:

  • libman.json'ı açın.

  • Şapka işaretini ilgili libraries nesne değişmez değeri içine yerleştirin.

  • Sol kenar boşluğunda görünen ampul simgesine tıklayın ve library_name@<library_version>> Kaldır'ı <seçin:

    Kitaplık bağlam menüsünü kaldır seçeneği

Alternatif olarak, LibMan bildirimini (libman.json ) el ile düzenleyebilir ve kaydedebilirsiniz. Geri yükleme işlemi , dosya kaydedildiğinde çalışır. içinde artık tanımlanmayan libman.json kitaplık dosyaları projeden kaldırılır.

Kitaplık sürümünü güncelleştirme

Güncelleştirilmiş kitaplık sürümünü denetlemek için:

  • libman.json'ı açın.
  • Şapka işaretini ilgili libraries nesne değişmez değeri içine yerleştirin.
  • Sol kenar boşluğunda görüntülenen ampul simgesine tıklayın. Güncelleştirmeleri denetle'nin üzerine gelin.

LibMan, yüklü sürümden daha yeni bir kitaplık sürümünü denetler. Aşağıdaki sonuçlar oluşabilir:

  • En son sürüm zaten yüklüyse Güncelleştirme bulunamadı iletisi görüntülenir.

  • En son kararlı sürüm zaten yüklü değilse görüntülenir.

    Güncelleştirmeler bağlam menüsü seçeneğini denetleme

  • Yüklü sürümden daha yeni bir ön sürüm varsa, ön sürüm görüntülenir.

Eski bir kitaplık sürümüne düşürmek için dosyayı el ile düzenleyin libman.json . Dosya kaydedildiğinde LibMan geri yükleme işlemi:

  • Yedekli dosyaları önceki sürümden kaldırır.
  • Yeni sürümden yeni ve güncelleştirilmiş dosyalar ekler.

Ek kaynaklar