Compartir a través de


Problemas comunes y soluciones alternativas

Aquí se muestran algunos problemas comunes que puede encontrar al usar Power Apps component framework y Microsoft Power Platform CLI

¿Los cambios en los componentes no se reflejan después de la importación de la solución actualizada?

Actualice la versión del componente (menor o revisión) en el archivo de manifiesto del componente (por ejemplo, 1.0.0 a 1.0.1). Cada actualización en el componente necesita un salto de versión del componente que se refleje en el servidor de 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">

Error Msbuild MSB4036

  • El nombre de la tarea en el archivo del proyecto es igual que el nombre de la clase de tarea.
  • La clase de tarea es pública e implementa la interfaz de Microsoft.Build.Framework.ITask.
  • La tarea se declara correctamente con <UsingTask> en el archivo de proyecto o en los archivos *.tasks situados en el directorio de la ruta.

Solución alternativa:

  • Abra Instalador de Visual Studio.
  • Para Visual Studio 2017 o superior, seleccione Modificar.
  • Seleccione Componentes individuales.
  • En Herramientas de código, active Destinos de NuGet y tareas de compilación.

Nota

A medida que nos encontremos durante el proceso de desarrollo, agregaremos constantemente problemas y soluciones comunes. Si encuentra un problema y tiene una solución alternativa y cree que es útil, plantee el problema aquí o plantee una solicitud de extracción para que podamos revisarla y agregarla a la lista.

Problemas al actualizar componentes de código existentes

  • Si ha creado un componente de código utilizando la versión de CLI 0.1.817.1 o anterior y desea asegurarse de que se están utilizando los últimos módulos de compilación y depuración, realice las actualizaciones siguientes en el archivo package.json:

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

Error: no se puede recuperar la información sobre Microsoft.PowerApps.MSBuild.Pcf desde una fuente remota <URL de fuente> cuando la compilación falla por problemas de autorización.

Solución alternativa

  • Abra el archivo NuGet.Config en %APPDATA%\NuGet. La fuente de la que el usuario obtiene el error debe estar presente en este archivo.

  • Quite la alimentación del NuGet.Config file o genere un token PAT y agréguelo al Nuget.Config file. Por ejemplo:

    <?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>
    

El tamaño del recurso web es demasiado grande

Error Importación de la solución: el tamaño del contenido de recursos web es demasiado grande.

Soluciones alternativas

Hay dos formas de evitar este error:

Compile el PCF usando la configuración de lanzamiento

  • Cree .pcfproj como configuración de lanzamiento, que establece el paquete web en modo de producción mediante el comando

    msbuild /property:configuration=Release
    
  • Ejecute el comando msbuild con la siguiente propiedad adicional:

    msbuild /p:PcfBuildMode=production
    
  • Edite .pcfproj para crear siempre el paquete web en el modo de producción estableciendo la propiedad PcfBuildMode en producción:

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

Aumentar el tamaño máximo de los archivos adjuntos de correo electrónico

El límite de tamaño de los archivos utilizados por los controles PCF está limitado por la misma configuración que limita el tamaño de los datos adjuntos de correo electrónico. Consulte la configuración Tamaño de archivo máximo para datos adjuntos descrita en Administrar la configuración de correo electrónico.

Este valor se establece en la columna Organization.MaxUploadFileSize. Aprenda a leer y actualizar la configuración del entorno mediante código

Al ejecutar el comprobador de Power Apps con la solución creada mediante herramientas CLI en la configuración predeterminada

Error: No usa la función 'eval' o sus equivalentes funcionales

Esta advertencia es por diseño, ya que la configuración msbuild predeterminada es Configuration=Debug. Esto, a su vez, indica al paquete web (utilizado para empaquetar el componente de código) que empaquete en modo de desarrollo, lo que lanza un eval().

Solución alternativa

Vuelva a crear el archivo de la solución usando uno de los comandos siguientes y vuelva a importar la solución a Dataverse.

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

La autenticación personalizada falla en aplicaciones de lienzo

La autenticación personalizada dentro de los controles PCF no se admite en las aplicaciones de lienzo.

Solución alternativa

Utilice conectores para gestionar la autenticación.

El control no puede terminar de cargar

Si utiliza actualizar en updateView debe incluir una condición de protección, de lo contrario, se creará un ciclo infinito. Cuando se llama a refresh, restablecerá el número de página a 1 y luego buscará la primera página de registros bajo los criterios de filtrado y clasificación actuales. Cuando el cliente recibe los datos actualizados, updateView será llamado para actualizar la pantalla. El resultado es que el control no puede terminar de cargarse y no podrá obtener registros más allá de la primera página.

Se carga la misma página en lugar de la esperada

refresh, loadExactPage, loadNextPage, loadPreviousPage no admiten la ejecución en paralelo.

Cuando se llama a estas funciones, los resultados de la página solicitada no estarán disponibles inmediatamente en la línea siguiente. En su lugar activarán updateView en el control con resultados recién obtenidos.