Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulamanızı akış yüklemesine hazırlamak için bir içerik grubu eşlemesi oluşturmanız gerekir. Bu makale, yol boyunca bazı ipuçları ve püf noktaları sağlarken içerik grubu haritası oluşturma ve dönüştürme özellikleri konusunda size yardımcı olacaktır.
Kaynak içerik grubu eşlemesi oluşturma
Bir dosya oluşturmanız SourceAppxContentGroupMap.xml ve bu dosyayı son sürüme dönüştürmek için Visual Studio veya MakeAppx.exe aracını kullanmanız gerekir: AppxContentGroupMap.xml. Sıfırdan AppxContentGroupMap.xml oluşturarak bir adımı atlamak mümkündür, ancak joker karakterlere SourceAppxContentGroupMap.xml içinde izin verilmediği için (ve gerçekten yararlı oldukları için), AppxContentGroupMap.xml oluşturmak ve dönüştürmek önerilir (ve genellikle daha kolaydır).
Haydi, uygulama akışı yüklemenin yararlı olduğu basit bir senaryoya birlikte göz atalım.
Bir oyun oluşturduğunuzu ancak son uygulamanızın boyutunun 100 GB'ın üzerinde olduğunu varsayalım. Bunun Microsoft Store'dan indirilmesi uzun zaman alacaktır ve bu sorun olabilir. Uygulama akış yüklemesini kullanmayı seçerseniz, uygulamanızın dosyalarının indirileceği sırayı belirtebilirsiniz. Mağaza'ya önce temel dosyaları indirmesini söyleyerek, kullanıcı arka planda diğer temel olmayan dosyalar indirilirken uygulamanızla daha erken etkileşime geçebilecektir.
Uyarı
Uygulama akışı yüklemesini kullanmak, büyük ölçüde uygulamanızın dosya organizasyonuna bağlıdır. Uygulamanızın dosyalarını segmentlere ayırmayı daha kolay hale getirmek için uygulamanızın içerik düzenini en kısa sürede uygulama akışı yüklemesiyle ilgili olarak düşünmeniz önerilir.
İlk olarak bir SourceAppxContentGroupMap.xml dosya oluşturacağız.
Ayrıntılara geçmeden önce basit ve eksiksiz SourceAppxContentGroupMap.xml bir dosya örneği aşağıda verilmiştir:
<?xml version="1.0" encoding="utf-8"?>
<ContentGroupMap xmlns="http://schemas.microsoft.com/appx/2016/sourcecontentgroupmap"
xmlns:s="http://schemas.microsoft.com/appx/2016/sourcecontentgroupmap">
<Required>
<ContentGroup Name="Required">
<File Name="StreamingTestApp.exe"/>
</ContentGroup>
</Required>
<Automatic>
<ContentGroup Name="Level2">
<File Name="Assets\Level2\*"/>
</ContentGroup>
<ContentGroup Name="Level3">
<File Name="Assets\Level3\*"/>
</ContentGroup>
</Automatic>
</ContentGroupMap>
İçerik grubu eşlemesinin iki ana bileşeni vardır: gerekli içerik grubunu içeren gerekli bölüm ve birden çok otomatik içerik grubu içerebilen otomatik bölüm.
Gerekli içerik grubu
Gerekli içerik grubu, <Required> öğesi içindeki tek bir içerik grubudur SourceAppxContentGroupMap.xml. Gerekli bir içerik grubu, uygulamayı en düşük kullanıcı deneyimiyle başlatmak için gereken tüm temel dosyaları içermelidir. .NET Yerel derlemesi nedeniyle, tüm kodlar (uygulama yürütülebilir dosyası) gerekli grubun parçası olmalı ve otomatik gruplar için varlıkları ve diğer dosyaları bırakmalıdır.
Örneğin, uygulamanız bir oyunsa, gerekli grup ana menüde veya oyun giriş ekranında kullanılan dosyaları içerebilir.
Burada, özgün SourceAppxContentGroupMap.xml örnek dosyamızın kod parçacığı verilmişti:
<Required>
<ContentGroup Name="Required">
<File Name="StreamingTestApp.exe"/>
</ContentGroup>
</Required>
Burada dikkat edilmesi gereken birkaç önemli şey vardır:
-
<ContentGroup>öğesinin<Required>içinde "Gerekli" olarak adlandırılmalıdır. Bu ad yalnızca gerekli içerik grubu için ayrılmıştır ve son içerik grubu haritasında diğerleriyle<ContentGroup>kullanılamaz. - Sadece bir tane
<ContentGroup>var. Bu, yalnızca bir temel dosya grubu olması gerektiğinden kasıtlı olarak yapılır. - Bu örnekteki dosya tek
.exebir dosyadır. Gerekli bir içerik grubu tek bir dosyayla sınırlı değildir, birkaç dosya olabilir.
Bu dosyayı yazmaya başlamanın kolay bir yolu, sık kullandığınız metin düzenleyicide yeni bir sayfa açmak, uygulamanızın proje klasörüne dosyanızın hızlı bir "Farklı Kaydet"ini yapmak ve yeni oluşturduğunuz dosyayı şöyle adlandırmaktır: SourceAppxContentGroupMap.xml.
Önemli
C++ uygulaması geliştiriyorsanız, dosya SourceAppxContentGroupMap.xmlözelliklerini ayarlamanız gerekir.
Content özelliğini true, özelliğini ise File TypeXML Dosyası olarak ayarlayın.
dosyasını oluştururken SourceAppxContentGroupMap.xml, dosya adlarında joker karakter kullanmak yararlı olur. Daha fazla bilgi için Joker karakter kullanma ipuçları ve püf noktaları bölümüne bakın.
Uygulamanızı Visual Studio kullanarak geliştirdiyseniz, bunu gerekli içerik grubunuzda eklemeniz önerilir:
<File Name="*"/>
<File Name="WinMetadata\*"/>
<File Name="Properties\*"/>
<File Name="Assets\*Logo*"/>
<File Name="Assets\*SplashScreen*"/>
Tek joker karakterli dosya adının eklenmesi, Visual Studio'dan proje dizinine eklenen uygulama yürütülebilir dosyası veya DLL'ler gibi dosyaları içerir. WinMetadata ve Özellikler klasörleri, Visual Studio'nın oluşturduğu diğer klasörleri içerir. Varlıklar joker karakterleri, uygulamanın yüklenmesi için gereken Logo ve SplashScreen görüntülerini seçmektir.
Dosya yapısının kökündeki "**" çift yıldızlı joker karakterini kullanarak projedeki her dosyayı ekleyemeyeceğinizi unutmayın çünkü SourceAppxContentGroupMap.xml öğesini son AppxContentGroupMap.xml öğesine dönüştürmeye çalışıldığında başarısız olur.
Ayrıca, ayak izi dosyalarının (AppxManifest.xml, AppxSignature.p7x, resources.pri vb.) içerik grubu haritasına dahil edilmemesi gerektiğini unutmayın. Ayak izi dosyaları belirttiğiniz joker karakter dosya adlarından birine dahil edilirse, göz ardı edilir bunlar.
Otomatik içerik grupları
Otomatik içerik grupları, kullanıcı önceden indirilmiş içerik gruplarıyla etkileşim kurarken arka planda indirilen varlıklardır. Bunlar, uygulamayı başlatmak için gerekli olmayan ek dosyaları içerir. Örneğin, içindeki otomatik içerik gruplarını farklı düzeylere ayırabilir ve her düzeyi ayrı bir içerik grubu olarak tanımlayabilirsiniz. Gerekli içerik grubu bölümünde belirtildiği gibi: Doğası gereği .NET Native derlemesi nedeniyle, tüm kod (uygulama yürütülebilir dosyası) gerekli grubun parçası olmalıdır ve varlıklar ile diğer dosyalar otomatik gruplar için bırakılmalıdır.
Örneğimizden SourceAppxContentGroupMap.xml otomatik içerik grubuna daha yakından bakalım:
<Automatic>
<ContentGroup Name="Level2">
<File Name="Assets\Level2\*"/>
</ContentGroup>
<ContentGroup Name="Level3">
<File Name="Assets\Level3\*"/>
</ContentGroup>
</Automatic>
Otomatik grubun düzeni, birkaç özel durum dışında gerekli gruba oldukça benzer:
- Birden çok içerik grubu vardır.
- Otomatik içerik gruplarının, gerekli içerik grubu için ayrılmış "Gerekli" adı dışında benzersiz adları olabilir.
- Otomatik içerik grupları, gerekli içerik grubundan herhangi bir dosya içeremez.
- Otomatik içerik grubu, diğer otomatik içerik gruplarında da bulunan dosyaları içerebilir. Dosyalar yalnızca bir kez indirilir ve bunları içeren ilk otomatik içerik grubuyla indirilir.
Joker karakter kullanmaya yönelik ipuçları ve püf noktaları
İçerik grubu eşlemeleri için dosya düzeni her zaman proje kök klasörünüzle görelidir.
Örneğimizde joker karakterler her iki <ContentGroup> öğe içinde de "Assets\Level2" veya "Assets\Level3" dosya düzeyindeki tüm dosyaları almak için kullanılır. Daha derin bir klasör yapısı kullanıyorsanız çift joker karakter kullanabilirsiniz:
<ContentGroup Name="Level2">
<File Name="Assets\Level2\**"/>
</ContentGroup>
Dosya adları için joker karakterleri ayrıca metinle birlikte kullanabilirsiniz. Örneğin, "Varlıklar" klasörünüzdeki her dosyayı "Düzey2" içeren bir dosya adıyla eklemek istiyorsanız aşağıdaki gibi bir şey kullanabilirsiniz:
<ContentGroup Name="Level2">
<File Name="Assets\*Level2*"/>
</ContentGroup>
SourceAppxContentGroupMap.xml AppxContentGroupMap.xml dönüştürme
SourceAppxContentGroupMap.xml öğesini nihai sürüme, AppxContentGroupMap.xml, dönüştürmek için Visual Studio 2017'yi veya MakeAppx.exe komut satırı aracını kullanabilirsiniz.
visual studio kullanarak içerik grubu haritanızı dönüştürmek için:
- öğesini
SourceAppxContentGroupMap.xmlproje klasörünüze ekleme - Öğesinin Derleme Eylemini
SourceAppxContentGroupMap.xmlÖzellikler penceresinde "AppxSourceContentGroupMap" olarak değiştirin - Çözüm gezgininde projeye sağ tıklayın
- Mağaza -> İçerik Grubu Eşleme Dosyasını Dönüştür'e gidin
Uygulamanızı Visual Studio'da geliştirmediyseniz veya yalnızca komut satırını kullanmayı tercih ediyorsanız, MakeAppx.exe aracını kullanarak uygulamanızı dönüştürün SourceAppxContentGroupMap.xml.
Basit birMakeAppx.exe komutu şuna benzer olabilir:
MakeAppx convertCGM /s MyApp\SourceAppxContentGroupMap.xml /f MyApp\AppxContentGroupMap.xml /d MyApp\
/s seçeneği SourceAppxContentGroupMap.xml yolunu belirtir, /f ise AppxContentGroupMap.xml yolunu belirtir. Son seçenek olan /d, dosya adı joker karakterlerini genişletmek için hangi dizinin kullanılacağını belirtir; bu örnekte uygulama projesi dizinidir.
MakeAppx.exeile kullanabileceğiniz seçenekler hakkında daha fazla bilgi için bir komut istemi açın, MakeAppx.exe gidin ve şunu girin:
MakeAppx convertCGM /?
Uygulamanız için son AppxContentGroupMap.xml hazırlıkları yapmak için ihtiyacınız olan tek şey bu! Uygulamanız Microsoft Store için tam olarak hazır hale gelmeden önce yapılacak daha fazla işlem vardır. Uygulamanıza akış yüklemesi ekleme hakkında daha fazla bilgi için bu sayfaya göz atın.