Upgrade projektů Xamarin.Android, Xamarin.iOS a Xamarin.Mac na .NET
Pokud chcete upgradovat nativní projekty Xamarinu na .NET, musíte:
- Aktualizujte soubor projektu tak, aby byl ve stylu sady SDK.
- Aktualizujte nebo nahraďte nekompatibilní závislosti verzemi .NET 8.
- Zkompilujte a otestujte aplikaci.
U většiny projektů nebudete muset měnit obory názvů ani provádět jiné přepisy.
Pro zjednodušení procesu upgradu doporučujeme vytvořit nový projekt .NET se stejným typem a názvem jako nativní projekt Xamarinu a pak zkopírovat do kódu. Toto je přístup popsaný níže.
Vytvoření nového projektu
V sadě Visual Studio vytvořte nový projekt .NET se stejným typem a názvem jako nativní projekt Xamarinu. Pokud chcete například upgradovat z Xamarin.Android na .NET pro Android, vyberte šablonu projektu aplikace pro Android:
Nový projekt by měl mít stejný název projektu a balíčku jako váš stávající projekt a měl by být umístěn do nové složky. Otevřením souboru projektu potvrdíte, že máte projekt ve stylu sady .NET SDK:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-android</TargetFramework>
<SupportedOSPlatformVersion>21</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationId>com.companyname.AndroidApp2</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
</PropertyGroup>
</Project>
Důležité
Moniker cílové architektury (TFM) označuje projekt jako použití .NET v tomto případě .NET 8. Platné TFM pro ekvivalentní nativní projekty Xamarinu jsou net8.0-android, net8.0-ios, net8.0-macos a net8.0-tvos. Informace o cílových architekturách v projektech ve stylu sady SDK naleznete v tématu Cílové architektury v projektech ve stylu sady SDK.
Spusťte aplikaci a ověřte, že vaše vývojové prostředí může aplikaci sestavit.
Sloučení souborů
Zkopírujte kód a soubory prostředků ze složek nativního projektu Xamarinu do stejných složek v nové aplikaci. Měli byste přepsat všechny soubory se stejným názvem.
Pokud máte jiné projekty knihovny, měli byste je přidat do nového řešení a přidat do nich odkazy na projekt z nového projektu .NET.
Budete také muset zkopírovat některé vlastnosti projektu z nativního projektu Xamarinu do nového projektu .NET pro nastavení, jako jsou argumenty podmíněné kompilace a podepisování kódu. Otevření projektů vedle sebe v samostatných instancích sady Visual Studio vám umožní porovnat vlastnosti projektu. Případně můžete nastavení migrovat přímo úpravou nového souboru projektu. Další informace najdete v tématu Migrace projektů Xamarin.Android a migrace projektu Xamarin Apple.
Aktualizace závislostí
Obecně platí, že nativní balíčky NuGet pro Xamarin nejsou kompatibilní s .NET 8, pokud nebyly rekompilovány pomocí .NET TFM. Aplikace .NET pro Android ale můžou používat balíčky NuGet, které cílí na monoandroid
architektury a monoandroidXX.X
architektury.
Pokud chcete ověřit, jestli je balíček kompatibilní s .NET 8, podívejte se na kartu Frameworks na NuGetu pro balíček, který používáte, a zkontrolujte, jestli obsahuje jednu z kompatibilních architektur zobrazených v následující tabulce:
Kompatibilní architektury | Nekompatibilní architektury |
---|---|
net8.0-android, monoandroid, monoandroidXX.X | |
net8.0-ios | monotouch, xamarinios, xamarinios10 |
net8.0-macos | monomac, xamarinmac, xamarinmac20 |
net8.0-tvos | xamarintvos |
xamarinwatchos |
Poznámka:
Knihovny .NET Standard, které nemají žádné závislosti na nekompatibilních architekturách uvedených výše, jsou stále kompatibilní s .NET 8.
Pokud balíček na NuGetu indikuje kompatibilitu s některou z výše uvedených kompatibilních architektur, bez ohledu na to, že zahrnuje také nekompatibilní architektury, je balíček kompatibilní. Kompatibilní balíčky NuGet lze přidat do nativního projektu .NET pomocí správce balíčků NuGet v sadě Visual Studio.
Pokud nemůžete najít kompatibilní verzi balíčku NuGet pro .NET 8, měli byste:
- Pokud vlastníte kód, překompilujte balíček pomocí .NET TFM.
- Vyhledejte verzi Preview balíčku .NET 8.
- Nahraďte závislost alternativou kompatibilní s .NET 8.
Informace o migraci kódu Xamarin.Essentials v aplikaci .NET pro Android nebo .NET pro iOS najdete v tématu Migrace kódu Xamarin.Essentials v .NET pro Android a .NET pro aplikace pro iOS.
Kompilace a řešení potíží
Po vyřešení závislostí a přidání kódu a souborů prostředků do nativního projektu .NET byste měli projekt sestavit. Všechny chyby vás provedou k dalším krokům.
Tip
- Před otevřením a sestavováním projektů v sadě Visual Studio odstraňte všechny složky bin a obj , zejména při změně verzí .NET.
- Odstraňte Resource.designer.cs vygenerovaný soubor z projektu Android.