Développement .NET MAUI stabilité de la plateforme de développement

Je développement avec Visual Studio Community 2022 et MAUI le successeur de Xamarin ... Et je vois devant moi la plateforme prendre des initiatives comme ajouter des Using fantaisistes pour compléter le code que je suis en train d'écrire.

Je suis surpris, je trouve cela un peu trop intrusif d'autant que vous ajoutez un using par ci par là mais la plateforme joue aussi beaucoup avec les packages qu'elle installe aussi automatiquement en fonction des projets que vous ouvrez.

Alors tout ceci est-il bien stable ? C'est une question dont je viens d'avoir la réponse.

Trouble shooting using MAUI plateforme

Voici la réponse à la question, la plateforme de développement Microsoft .NET MAUI est-elle stable ?

La plateforme de développement Microsoft .NET MAUI est-elle stable ?
La plateforme de développement Microsoft .NET MAUI est-elle stable ?

Cela fait déjà un petit moment que je trouve les initiatives de la plateforme ... comment dire ... mal à propos. Et ce matin voilà ça y est c'est planté !

Ce matin, j'ai bien peur de retomber dans :

L'Enfer du DotNET !

Alors trouvons des solutions au maintient d'une plateforme stable.

Error dans Xamarin Tools

Pourquoi Xamarin ? Je croyais que l'on en avait plus besoin...

1 - C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.46\tools\Xamarin.Android.Aapt2.targets

Une erreur avec Xamarin, alors c'est curieux parce qu'il est stipulé lorsque vous débutez MAUI que c'est le successeur de Xamarin mais qui n'a pas besoin de Xamarin d'ailleurs quand vous installez le Développement .NET MAUI Xamarin est facultatif certainement pour migrer des anciens projets Xamarin vers MAUI.

Xamarin est-il nécessaire à la MAUI Plateforme ?
Xamarin est-il nécessaire à la MAUI Plateforme ?

Une fois de plus je vais trouver la solution mais c'est navrant de constater que ce n'est pas encore sec sec sec tout ça. Il y a surement encore des liens trop ténus avec Xamarin et sa foultitude de tools qui ne fonctionnent pas.

Bien sûr, je vais vous trouver une solution, stay tude.

Erreur NU1105 - Impossible de lire les informations du projet

Voici cette nouvelle instabilité de ma plateforme de développement, en général quand ce genre de message apparaît alors que vous ne pensez pas avoir fait quoi que ce soit, c'est au moins la demi-journée pour trouver la correction sauf si vous avez de la chance. 

Impossible de lire les informations relatives au projet pour 'MauiAppToolkit' :
La séquence contient plusieurs éléments ...

Voici l'erreur du jour, elle je vous assure elle est coton car la solution n'est pas évidente. J'ai un fichier project.assets.json qu in'est pas généré correctement.

Hummm l'erreur Visual Studio qu'elle pue la mmm
Hummm l'erreur Visual Studio qu'elle pue la mmm

Alors que s'est-il passé ? D'après moi c'est d'avoir ouvert la solution avec Visual Studio 2019 qui a commencé à bricoler tenter de faire des mise à jour alors que la Solution MAUI ne peut s'ouvrir qu'avec Visual Studio 2022 !

Je supprime bien sur les .\bin et .\obj rien n'y fait.

Je recherche du côté de la suppression des NuGets dans les répertoire :

C:\Users\Mabyre\.nuget\

Je supprime Tout !

Je regarde dans :

C:\Program Files (x86)\Microsoft SDKs\NuGetPackages

Rien n'a à voir avec Maui ou Community, je ne supprime pas !

C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages

Il n'y a rien là dedans !

Alors je vais du côté de : 

Outils -> Options -> Gestionnaire de package NuGet -> Général

Gestionnaire de packages Nugets

Je clique sur :  Effacer tout le stockage NuGet. C'est peut être ça qui à corrigé le problème ...

Dans la fenêtre de sortie :

Effacement du cache HTTP NuGet : C:\Users\Mabyre\AppData\Local\NuGet\v3-cache
Effacement du dossier des packages globaux NuGet : C:\Users\Mabyre\.nuget\packages\
Effacement du cache temporaire NuGet : C:\Users\Mabyre\AppData\Local\Temp\NuGetScratch
Effacement du cache des plug-ins NuGet : C:\Users\Mabyre\AppData\Local\NuGet\plugins-cache
Ressources locales effacées.
========== Fin ==========

Je créé une nouvelle solution en ouvrant directement le fichier .csproj. Je quitte en sauvegardant la solution. 

Puis, une idée de génie je tente d'exécuter quand même la solution malgré les erreurs, voilà ma solution devant moi en train de s'exécuter. Du coup j'aimerais remettre la solution dans le répertoire racine du projet mais voilà :

Error AndroidManifest.xml

Bon voilà c'est corrigé :

GitHub - Mabyre - MauiAppToolkit

Crash de la Plateforme de développement MAUI

Voilà le problème précédent corrigé, qu'un nouveau crash se produit ...

Erreur : ApplicationId 'com.companyname.mauicameramauisample' was not a valid GUID. Windows apps use a GUID for an application ID instead of the reverse domain used by Android and/or iOS apps. Either set the <ApplicationIdGuid> property to a valid GUID or use a condition on <ApplicationId> for Windows apps. MauiCameraMauiSample C:\Program Files\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\7.0.86\targets\Microsoft.Maui.Resizetizer.targets 655

C:\Program Files\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\7.0.86\targets\Microsoft.Maui.Resizetizer.targets(655,9): error : ApplicationId 'com.companyname.mauicameramauisample' was not a valid GUID. Windows apps use a GUID for an application ID instead of the reverse domain used by Android and/or iOS apps. Either set the <ApplicationIdGuid> property to a valid GUID or use a condition on <ApplicationId> for Windows apps.

Une petite fenêtre très sympathique VCManagePackage :

Allé encore, cette fois également ça sent mauvais... Bon comme il y a une mise à jour Visual Studio et bien allons y mettons à jour 17.6 en 17.7 je crois.

Erreur NETSDK1112 le pack de runtime pour Microsoft.NETCore.App.Runtime.win-x64 n'a pas été téléchargé. Essayez d'exécuter une restauration NuGet avec le RuntimeIdentifier 'win-x64'. MauiCameraMauiSample C:\Program Files\dotnet\sdk\7.0.304\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets 448

Un petit coup de PowerShell :

PS>dotnet restore --runtime win-x64

L'erreur Erreur NETSDK1112 est corrigé mais pas l'autre. Pour corriger l'autre j'ai du ajouter :

<ApplicationIdGuid>dafdd4e2-67de-4a3e-9f4f-196e13fb1bd1</ApplicationIdGuid>

Dans le fichier projet .csproj de la solution... rien de moins que de bricoler le fichier .csproj à la mimine.

Erreur AMM0000

Et cela continue !

Erreur AMM0000 uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library C:\Users\Mabyre\Documents\Visual Studio 2022\Samples\MAUI\MauiAppToolkit\MauiAppToolkit\obj\Debug\net7.0-android\lp\133\jl\AndroidManifest.xml as the library might be using APIs not available in 19

Suggestion: use a compatible library with a minSdk of at most 19,

or increase this project's minSdk version to at least 21,

or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

Directory 'obj\Debug\net7.0-android\lp\133' is from 'androidx.security.security-crypto.aar'. MauiAppToolkit C:\Users\Mabyre\Documents\Visual Studio 2022\Samples\MAUI\MauiAppToolkit\MauiAppToolkit\obj\Debug\net7.0-android\AndroidManifest.xml 46

J'avoue cela me fatigue un peu ...

Du coup j'ai supprimé la ligne :

<uses-sdk />

Du fichier :

\MauiAppToolkit\Platforms\Android\AndroidManifest.xml

Et ça fonctionne à nouveau.

.NET 6.0 & .NET 7.0

Ce matin, je travaille sur mon MAUI Application Toolkit pas de soucis. Et puis, je ne sais pour qu'elle raison saugrenue, j'ai eu envie d'essayer le projet suivant :

https://github.com/henduck/MAUINewsApp.git

Je clone, j'ouvre la solution, je laisse la génération se dérouler et

BOOUUUUMMMMMMM !!!

Erreur	NETSDK1005	Le fichier de composants '\Visual Studio 2022\Samples\MAUI\MauiAppToolkit\MauiAppToolkit\obj\project.assets.json' n'a aucune cible pour 'net7.0-windows10.0.19041.0'
Erreur NETSDK1005 Le fichier de composants '\Visual Studio 2022\Samples\MAUI\MauiAppToolkit\MauiAppToolkit\obj\project.assets.json' n'a aucune cible pour 'net7.0-windows10.0.19041.0'

Message d'erreur :

Erreur NETSDK1005 Le fichier de composants '\MauiAppToolkit\obj\project.assets.json' n'a aucune cible pour 'net7.0-windows10.0.19041.0'. Vérifiez que la restauration s'est exécutée et que vous avez inclus 'net7.0-windows10.0.19041.0' dans TargetFrameworks pour votre projet. MauiAppToolkit C:\Program Files\dotnet\sdk\7.0.304\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets

Ça fait toujours bien dans le SEO du post de mettre le message d'erreur !

Je suppose que l'erreur fut générée par la restauration du projet en .NET 6.0 alors que le projet MauiAppToolkit est déjà en .NET 7.0.

Je découvre :

GitHub Redth - dotnet-maui-check

J'exécute tout ce qu'il faut ça prend du temps plusieurs minutes :

Exécution de .NET MAUI Check
Exécution de .NET MAUI Check 

Dommage on dirait pourtant que tout va bien mais rien à faire :

Erreur NETSDK1005 Le fichier de composants 'C:\Users\Mabyre\Documents\Visual Studio 2022\Samples\MAUI\MauiAppToolkit\MauiAppToolkit\obj\project.assets.json' n'a aucune cible pour 'net7.0-android'. Vérifiez que la restauration s'est exécutée et que vous avez inclus 'net7.0-android' dans TargetFrameworks pour votre projet. MauiAppToolkit C:\Program Files\dotnet\sdk\7.0.304\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266

Et puis à force de lire ce message d'erreur 'restore' m'enfin oui bien sûr il y a la commande :

Commande PowerShell > DotNET Restore

PS C:\Users\Mabyre\Documents\Visual Studio 2022\Samples\MAUI\MauiAppToolkit>dotnet restore

Cela prend du temps mais au bout PowerShell me répond "Restauration effectuée en 3,55 min et cette fois cela y est mon application fonctionne à nouveau.

Have a nice day! I'll go to the beach!

Aucun commentaire:

Enregistrer un commentaire

Pour plus d'interactivité, n'hésitez pas à laisser votre commentaire.