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.
  • La tâche est correctement déclarée avec <UsingTask> dans le fichier du projet ou dans les fichiers *.tasks situés dans le répertoire de chemin d’accès.

Solution de contournement :

  • Ouvrez Installateur Visual Studio.
  • Pour Visual Studio 2017 ou supérieur, sélectionnez Modifier.
  • Sélectionnez Composants individuels.
  • Sous Outils de code, activez la case à cocher Cibles NuGet et tâches de build.

Notes

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 avez une solution de contournement et que vous pensez que cela est utile, indiquez le problème ici ou lancez 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 antérieure et que vous souhaitez vous assurer que les derniers modules de génération et de débogage sont utilisés, effectuez les mises à jour du fichier package.json comme indiqué ci-dessous :

    "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 fichier NuGet.Config à partir de %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 fichier 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 la solution d’importation : la taille du contenu des ressources Web est trop grande.

Solution de contournement

  • Construisez .pcfproj comme configuration de version qui définit le pack Web en mode production à l’aide de la commande
    msbuild /property:configuration=Release
    
  • Exécutez la commande msbuild avec une propriété supplémentaire comme indiqué ci-dessous :
    msbuild /p:PcfBuildMode=production
    
  • Modifiez .pcfproj pour toujours créer le pack Web en mode production en définissant la propriété PcfBuildMode en mode production :
    <PropertyGroup>
      <Name>TS_ReactStandardControl</Name>
      <ProjectGuid>0df84c56-2f55-4a80-ac9f-85b7a14bf378</ProjectGuid>
      <OutputPath>$(MSBuildThisFileDirectory)out\controls</OutputPath>
      <PcfBuildMode>production</PcfBuildMode>
    </PropertyGroup>
    

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 voulu par la conception depuis la configuration msbuild est 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 des tiers n’est pas prise en charge.

Solution de contournement

Utilisez la 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éera une boucle infinie. Lorsque refresh est appelé, il réinitialise le numéro de page à 1, puis récupère la première page des enregistrements selon les critères de filtrage et de tri actuels. Lorsque les données mises à jour sont reçues par le client, updateView sera 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

refresh, 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, elles déclencheront updateView sur le contrôle avec les résultats récemment récupérés.

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).