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.json
dü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:
- İstemci Tarafı Kitaplığı Ekle iletişim kutusunu kullanma
- 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:
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/ - Proje kökünden başlatılırsa:
Dosyaları içindeki yapılandırmaya
libman.json
gö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ğindefiles
jquery.min.js
tanı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ılardefaultProvider
. 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
velodash.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:
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.
- Çözüm Gezgini'da dosyaya
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:
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.
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
ASP.NET Core
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin