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.
Tek proje MSIX, ayrı bir paketleme projesine gerek kalmadan paketlenmiş bir WinUI 3 masaüstü uygulaması oluşturmanıza olanak tanıyan bir özelliktir. WinUI uygulaması, kullanıcı arabirimi (UI) için WinUI çerçevesini kullanan uygulamadır; ve Windows Uygulama SDK'sı kullanır. WinUI olmayan bir masaüstü uygulamasını paketlemek için, Visual Studio'da masaüstü uygulamanızı MSIX paketleme için ayarlayın.
Tek proje MSIX özelliği, şu senaryolar için kullanabileceğiniz bir Visual Studio uzantısıdır:
- Windows Uygulama SDK'sı ile birlikte gelen WinUI Boş Uygulaması (Paketlenmiş) Visual Studio proje şablonunu kullanarak yeni bir WinUI masaüstü uygulaması oluşturun. Bu proje, uygulamanızı ayrı bir paketleme projesine ihtiyaç duymadan bir MSIX paketinde oluşturacak şekilde yapılandırılmıştır.
- Ayrı bir paketleme projesi kullanan mevcut WinUI masaüstü uygulamasını değiştirin. Değişiklik, aşağıdaki çizimde gösterildiği gibi ayrı paketleme projesinin kaldırılması işlemini içerir.
Genel Bakış
Bu bölümde, tek projelik MSIX özelliği hakkında bazı önemli ayrıntılar tanıtılmaktadır.
Fayda -ları
Tek proje MSIX özelliğinin kullanıma sunulmasından önce, paketlenmiş bir WinUI masaüstü uygulaması oluşturmak istiyorsanız, çözümünüzde uygulama projenizin yanı sıra ek bir Windows Uygulama Paketleme Projesi (bkz. MSIX paketlemesi için masaüstü uygulamanızı Visual Studio'da ayarlama) bulunması gerekiyordu. Tek proje MSIX özelliği, uygulamanız için sadece bir proje kullanarak uygulamanızı geliştirmenize ve oluşturmanıza olanak tanır. Bu, daha temiz bir project yapısı ve daha basit bir geliştirme deneyimi sağlar. Örneğin, artık başlangıç projesi olarak ayrı bir paketleme projesi seçmeniz gerekmez.
Desteklenen project türleri
Tek proje MSIX özelliği, Windows Uygulama SDK'sı için Visual Studio'daki (C# ve C++) WinUI şablonlarını destekler.
Sınırlamalar
Tek proje MSIX, oluşturulan MSIX paketinde yalnızca bir yürütülebilir dosyayı destekler. Birden çok yürütülebilir dosyayı tek bir MSIX paketinde birleştirmeniz gerekiyorsa, çözümünüzde bir Windows Uygulama Paketleme Project kullanmaya devam etmeniz gerekir.
Tek projesi MSIX paketleme araçlarını yükleyin
Tek proje MSIX paketleme araçları, yeni WinUI masaüstü uygulamaları paketlemek için kullanabileceğiniz Visual Studio proje şablonlarını içerir. Bu araçlar Visual Studio için Windows Uygulama SDK'sı uzantısına dahildir. Windows Uygulama SDK'sı yükleme yönergeleri için bkz. Windows Uygulama SDK'sı için araçları yükleme.
Windows Uygulama SDK'sı 0.8 ve C# sürüm 1.0 Önizleme 3: Tek proje MSIX paketleme araçları, Windows Uygulama SDK'sı sürümü 0.8 için veya Windows Uygulama SDK'sı 1.0'ın Önizleme 3'e kadar olan sürümleri ve bunlara dahil olan C# projeleri için Visual Studio'nun Windows Uygulama SDK'sı uzantısına dahil değildir. Dolayısıyla bu sürümleri kullanıyorsanız tek proje MSIX paketleme araçlarını açıkça yüklemeniz gerekebilir. Aşağıdaki bilgilere bakın:
Visual Studio 2026 veya üzeri: Tek projeli MSIX Paketleme Araçları, Visual Studio 2026 ve sonraki sürümlerde yerleşik olarak bulunur.
Visual Studio'nun önceki sürümleri:Visual Studio 2026 VSIX için Tek projeli MSIX Paketleme Araçları uzantısını yükleyin.
Uzantının yüklü olduğunu onaylamak için Extensions>Uzantıları Yönet>Kurulu>Tümü seçeneğine tıklayın ve Single-Project MSIX Paketleme Araçları'nın listelenip listelenmediğini denetleyin.
Yeni project oluşturma
Windows Uygulama SDK'sı 1.0 Önizleme 2 veya üzerini kullanıyorsanız, WinUI Boş Uygulama (Paketlenmiş) şablonunu kullanarak tek projeli MSIX desteği içeren yeni bir WinUI tabanlı uygulama oluşturabilirsiniz. Daha fazla bilgi için bkz. WinUI 3 projesi oluşturma ve çalıştırma.
Mevcut bir projeyi değiştirme
Ayrı bir paketleme project kullanan mevcut WinUI tabanlı bir uygulamayı değiştirmek için bu bölümdeki adımları izleyin. Adımlar, paket bildirimini (ve bir MSIX paketi oluşturmak için gereken diğer desteği) uygulama projesine taşımayı ve ayrı paketleme projesini kaldırmayı içerir.
1. Adım: Mevcut bir paketleme projesi oluşturma veya açma
Eğer zaten bir Windows Uygulaması Paketleme Projesi içeren bir WinUI masaüstü uygulama çözümünüz varsa (bkz. Visual Studio'da WinUI şablonları), o zaman bu çözümü şimdi Visual Studio'da MSIX paketlemesi için masaüstü uygulamanızı ayarlama), ardından bu çözümü şimdi Visual Studio'da açın.
Aksi takdirde, Windows Uygulama Paketleme Projesi (Masaüstünde WinUI) şablonunu kullanarak Visual Studio'da yeni bir WinUI masaüstü uygulaması oluşturun. Çözümünüz aşağıdaki ekran görüntüsüne benzer olacaktır.
2. Adım: Uygulama project ayarlarını düzenleme
Ardından, tek proje MSIX özelliğini kullanmak için bazı yapılandırma ayarlarını düzenleyin. project türüne ve Visual Studio sürümüne bağlı olarak farklı yönergeler vardır.
Çözüm Gezgini'da uygulamanızın project düğümüne çift tıklayarak .csproj dosyasını XML düzenleyicisinde açın. Main <PropertyGroup> öğesine aşağıdaki XML'yi ekleyin.
<EnableMsixTooling>true</EnableMsixTooling> <PublishProfile>Properties\PublishProfiles\win10-$(Platform).pubxml</PublishProfile>İşiniz bittiğinde PropertyGroup<> öğesi şuna benzer görünmelidir.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework> ... <UseWinUI>true</UseWinUI> <EnableMsixTooling>true</EnableMsixTooling> <PublishProfile>Properties\PublishProfiles\win10-$(Platform).pubxml</PublishProfile> </PropertyGroup>Değişikliklerinizi kaydedin ve .csproj dosyasını kapatın.
Visual Studio sürümünüze bağlı olarak aşağıdaki yordamlardan birini gerçekleştirin.
Visual Studio 2026 veya üzeri için:
Çözüm Gezgini'da, uygulamanızın project düğümü altındaki Properties klasörüne sağ tıklayın ve Add>Yeni Öğe... öğesini seçin. .
Metin Dosyası'nı seçin, yeni dosyayı launchSettings.jsonadlandırın ve Ekle'ye tıklayın. Yeni dosyanın uygulamanızın project Properties klasöründe olduğundan emin olun.
Aşağıdaki ayarları yeni dosyaya kopyalayın. Senaryonuz için gerekli olan değerleri değiştirebilirsiniz. MyApp değeri herhangi bir dize olabilir; uygulamanızın adıyla eşleşmesi gerekmez.
{ "profiles": { "MyApp": { "commandName": "MsixPackage", "commandLineArgs": "", /* Command line arguments to pass to the app. */ "alwaysReinstallApp": false, /* Uninstall and then reinstall the app. All information about the app state is deleted. */ "remoteDebugEnabled": false, /* Indicates that the debugger should attach to a process on a remote machine. */ "allowLocalNetworkLoopbackProperty": true, /* Allow the app to make network calls to the device it is installed on. */ "authenticationMode": "Windows", /* The authentication scheme to use when connecting to the remote machine. */ "doNotLaunchApp": false, /* Do not launch the app, but debug my code when it starts. */ "remoteDebugMachine": "", /* The name of the remote machine. */ "nativeDebugging": false /* Enable debugging for managed and native code together, also known as mixed-mode debugging. */ } } }launchSettings.json dosyasını kaydedin ve kapatın.
3. Adım: Dosyaları uygulama projesine taşıma
Ardından, birkaç önemli dosyayı uygulama projesine taşıyın. project türünüze bağlı olarak farklı yönergeler vardır.
- File Explorer'da Package.appxmanifest dosyasını ve Images klasörünü paketleme projenizden uygulama projenize taşıyın. Bu dosya ve klasörü uygulama project klasör hiyerarşisinin en üst düzeyine yerleştirin.
- Visual Studio Çözüm Gezgini içinde Images klasöründeki tüm görüntüleri çoklu seçin. Özellikler penceresinde, Oluşturma Eylemi'ni İçerikolarak ayarlayın.
- Paketleme projesini çözümünüzden kaldırın.
4. Adım: Yapılandırma Yöneticisi'de dağıtmayı etkinleştirme
- Build>Yapılandırma Yöneticisi'yi seçin.
-
Yapılandırma Yöneticisi'da, yapılandırma ve platformun her bileşimi için Deploy onay kutusuna tıklayın (örneğin, Debug ve x86, Debug ve arm64, Release ve x64 ve daha fazlası).
Uyarı
Etkin çözüm yapılandırması ve Etkin çözüm platformu açılır listelerini, Yapılandırma ve Platform açılır listelerinin yerine, Yayımla onay kutusuyla aynı sırada kullanmanız gerektiğinden emin olun.
5. Adım: Uygulamanızı dağıtma
Uygulama projenizi derleyin ve dağıtın. Visual Studio uygulamanızı bir MSIX paketinde derleyecek, paketi yükleyecek ve ardından uygulamanızı çalıştıracaktır.
6. Adım: Uygulamanızı yayımlamak üzere paketleme
Visual Studio içindeki
Tek projeli MSIX uygulamanızı derlemeyi ve paketlemeyi otomatikleştirin.
Tek proje MSIX uygulamanızı derlemek ve paketlemek için msbuild kullanabilir, böylece iş akışını otomatikleştirebilirsiniz. Tek proje çözümünün tekniği ve komut satırı, bir Windows Uygulama Paketleme Projesi içeren iki proje çözümünüz varsa (bkz. MSIX paketlemesi için masaüstü uygulamanızı Visual Studio'da ayarlama) zaten yaptığınızdan biraz farklıdır.
Tek proje çözümü için önemli derleme komutu seçeneği /p:GenerateAppxPackageOnBuild=true'dir. Bu seçenek olmaksızın proje derlenir, ancak bir MSIX paketi alamazsınız. Bu seçeneği dahil edin; bu da MSIX paketinin oluşturulmasına neden olur.
WinUI tek proje çözümü oluşturan bir GitHub Eylemi şeklinde tam bir örnek bulunmaktadır.
Uyarı
Tek projeli MSIX şu anda MSIX demetleri üretmeyi desteklememektedir (bkz. Bundling MSIX packages). Yalnızca tek bir MSIX üretir. Ancak .msix GitHub Eylemini kullanarak dosyalarını bir MSIX paketinde paketleyebilirsiniz.
Paketlenmiş masaüstü uygulaması Windows'da nasıl çalışır?
Masaüstü uygulamanız için bir Windows app paketi oluşturduğunuzda dosyalara ve kayıt defteri girişlerine ne olduğu hakkında daha ayrıntılı bilgi için bkz. Windows üzerinde paketlenmiş masaüstü uygulamalarının nasıl çalıştığını anlama.
Geri bildirimde bulunun
Bize geri bildirim göndermek, sorun bildirmek veya tek proje MSIX özelliği hakkında sorular sormak için Windows Uygulama SDK'sı GitHub deposunda bir tartışma ya da sorun oluşturun.
Windows developer