Partage via


Problèmes courants et solutions de contournement

Voici quelques problèmes courants que vous pourriez rencontrer lors de l’utilisation de Power Apps component framework et de la CLI Microsoft Power Platform.

Les modifications des composants ne sont pas reflétées après l’importation de la solution mise à jour ?

Mettez à jour la version du composant (mineure ou correctif) dans le fichier manifeste du composant (par exemple, 1.0.0 vers 1.0.1). Chaque mise à jour dans le composant nécessite un bump de version de composant pour être reflété sur le serveur Microsoft Dataverse.

 <control namespace="SampleNamespace" constructor="TSLinearInputControl"
   version="1.0.1"
    display-name-key="TSLinearInputControl_Display_Key" description-key="TSLinearInputControl_Desc_Key" control-type="standard">

Erreur Msbuild MSB4036

  • Le nom de la tâche dans le fichier du projet est identique au nom de la classe de tâche.
  • La classe de tâche est publique et met en œuvre l’interface Microsoft.Build.Framework.ITask.
  • Le tâche est correctement déclaré avec <UsingTask> dans le fichier projet ou dans les fichiers *.tasks situés dans le répertoire path.

Solution de contournement :

  • Ouvrez Installateur Visual Studio.
  • Pour Visual Studio 2017 ou supérieur, Sélectionner Modifier.
  • Sélectionner Composants individuels.
  • Sous Outils de code, cochez NuGet Cibles et tâches de build.

Note

Nous ajouterons constamment des problèmes et des solutions de contournement au fur et à mesure que nous les rencontrons au cours du processus de développement. Si vous rencontrez un problème et que vous avez une solution de contournement et que vous pensez que cela est utile, soulevez le problème ici ou faites une demande d’extraction afin que nous puissions l’examiner et l’ajouter à la liste.

Problèmes lors de la mise à jour des composants de code existants

  • Si vous avez créé un composant de code à l’aide de la version CLI 0.1.817.1 ou d’une version antérieure et que vous souhaitez vous assurer que les derniers modules de build et de débogage sont utilisés, effectuez les mises à jour suivantes dans le fichier : package.json

    "dependencies": { "@types/node": "^10.12.18", "@types/powerapps-component-framework": "1.1.0"}, "devDependencies": { "pcf-scripts": "~0", "pcf-start": "~0" }
    

Erreur : Impossible de récupérer des informations sur Microsoft.PowerApps.MSBuild.Pcf à partir d’une source distante <URL de flux> lorsque la génération échoue pour des problèmes d’autorisation.

Solution de contournement

  • Ouvrez le NuGet.Config fichier depuis %APPDATA%\NuGet. Les flux à partir duquel l’utilisateur reçoit l’erreur doit être présent dans ce fichier.

  • Supprimez le flux du NuGet.Config file ou générez un jeton PAT et ajoutez-le au Nuget.Config file. Par exemple :

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <packageSources>
        <add key="YourFeedName" value="https://contoso.com/_packaging/YourFeedName/nuget/v3/index.json" />
     </packageSources>
     <packageSourceCredentials>
     <YourFeedName>
     <add key="Username" value="anything" />
     <add key="Password" value="User PAT" />
       </YourFeedName>
       </packageSourceCredentials>
      </configuration>
    

La taille de la ressource Web est trop importante

Erreur Échec de l’importation de la solution : la taille du contenu de la ressource Web est trop grande.

Solutions de contournement

Il existe deux manières de contourner cette erreur :

Construisez le PCF en utilisant la configuration de publication

  • Créez la configuration de version, qui définit le pack Web en mode production à l’aide de la commande : .pcfproj

    msbuild /property:configuration=Release
    
  • Exécutez la commande msbuild avec la propriété supplémentaire suivante :

    msbuild /p:PcfBuildMode=production
    
  • Modifiez le .pcfproj pour toujours créer le pack Web en mode production en définissant la propriété PcfBuildMode sur production :

    <PropertyGroup>
      <Name>TS_ReactStandardControl</Name>
      <ProjectGuid>0df84c56-2f55-4a80-ac9f-85b7a14bf378</ProjectGuid>
      <OutputPath>$(MSBuildThisFileDirectory)out\controls</OutputPath>
      <PcfBuildMode>production</PcfBuildMode>
    </PropertyGroup>
    

Augmenter la taille maximale des pièces jointes aux e-mails

La limite de taille des fichiers utilisés par les contrôles PCF est limitée par le même paramètre qui limite la taille des pièces jointes des e-mails. Consultez le paramètre Taille maximale du fichier pour les pièces jointes décrit dans Gérer les paramètres de messagerie.

Cette valeur est définie dans la colonne Organization.MaxUploadFileSize . Apprenez à lire et à mettre à jour les paramètres environnement à l’aide du code

Lors de l’exécution du vérificateur Power Apps avec la solution construite à l’aide des outils CLI dans la configuration par défaut

Erreur : n’utilisez pas la fonction eval ou ses équivalents fonctionnels

Cet avertissement est intentionnel puisque la configuration par défaut est msbuild . Configuration=Debug Cela demande à son tour au pack Web (utilisé pour regrouper le composant de code) de créer un package en mode développement, ce qui émet eval().

Solution de contournement

Reconstruisez le fichier de solution à l’aide de l’une des commandes suivantes et réimportez la solution dans Dataverse.

msbuild/property:configuration:Release
npm run build -- --buildMode production

L’authentification pour les services tiers échoue dans les applications canevas

L’authentification PCF pour les tiers n’est pas prise en charge.

Solution de contournement

Utilisez une combinaison d’une page personnalisée et d’un connecteur.

Le contrôle ne peut pas terminer le chargement

Si vous utilisez refresh dans updateView , vous devez inclure une condition de protection, sinon cela crée une boucle infinie. Chaque fois que refresh est appelé, il réinitialise le numéro de page à 1, puis récupère la première page d’enregistrements selon les critères de filtrage et de tri actuels. Lorsque le client reçoit les données mises à jour, updateView est appelé pour mettre à jour l’affichage. Le résultat est que le contrôle ne peut pas terminer le chargement et ne pourra pas récupérer les enregistrements au-delà de la première page.

La même page est chargée plutôt que celle attendue

actualiser, loadExactPage, loadNextPage, loadPreviousPage ne prennent pas en charge l’exécution parallèle.

Lorsque ces fonctions sont appelées, les résultats de la page demandée ne seront pas disponibles immédiatement dans la ligne suivante. Au lieu de cela, ils feront Gâchette updateView sur le contrôle avec les résultats nouvellement récupérés.