sdk
latest
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
UiPath logo, featuring letters U and I in white
Guía del desarrollador
Last updated 25 de oct. de 2024

Migrar actividades a .NET 6

Esta página ofrece una descripción general de cómo migrar tus actividades de .NET Framework personalizadas a .NET 6 para usarlas en proyectos con compatibilidad con Windows disponible a partir de Studio 2021.10.6.

Usaremos la actividad de muestra MathSquareOfSum .NET Framework documentada en la página Crear actividades con código (heredado) como ejemplo para una migración a .NET 6 que se dirige a Windows y al mismo tiempo mantiene la compatibilidad con .NET Framework para proyectos Windows (heredado).

Paso 1: migrar el proyecto al nuevo formato de estilo SDK y añadir net6.0-windows destino

Un proyecto que utiliza el formato de proyecto .NET Framework debe migrar al nuevo formato de estilo SDK. Para obtener más información, consulta la documentación de Microsoft. Las referencias de los paquetes deben declararse en el archivo .csproj en lugar de packages.config.

  1. En el Explorador de soluciones, haz clic con el botón derecho en el proyecto y selecciona Descargar proyecto.
  2. Copia referencias y borra todo del archivo .csproj .
  3. Actualiza manualmente el archivo .csproj al nuevo formato.
  4. Añade el marco de destino net6.0-windows.
  5. Marque las referencias originales como net461 solo agregando una condición.
  6. Añade una nueva sección de referencia con condiciones para net6.0-windows. Debe declarar las siguientes dependencias deWWF para .NET: UiPath.Workflow.Runtime, UiPath.Workflow, System.Activities.Core.Presentation, System.Activities.Metadata. Asegúrese de que todas sus dependencias sean compatibles con .NET. Es posible que necesite encontrar versiones de paquete más recientes o paquetes de reemplazo.
  7. En el Explorador de soluciones, haz clic con el botón derecho en el proyecto y selecciona Volvera cargar.

El archivo debe tener el siguiente aspecto.

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop" ToolsVersion="Current">
  <PropertyGroup>
    <TargetFrameworks>net461;net6.0-windows</TargetFrameworks>
    <AssemblyName>MathSquareOfSum</AssemblyName>
    <RootNamespace>MathSquareOfSum</RootNamespace>
    <UseWpf>true</UseWpf>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  </PropertyGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
    <Reference Include="System" />
    <Reference Include="System.Activities" />
    <Reference Include="System.Activities.Core.Presentation" />
    <Reference Include="System.Activities.Presentation" />
    <Reference Include="System.ComponentModel.Composition" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xaml" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Xml" />
    <Reference Include="WindowsBase" />
  </ItemGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0-windows' ">
    <PackageReference Include="UiPath.Workflow.Runtime" Version="6.0.0-20220401-03" PrivateAssets="All" />
    <PackageReference Include="UiPath.Workflow" Version="6.0.0-20220401-03" PrivateAssets="All" />
    <PackageReference Include="System.Activities.Core.Presentation" Version="6.0.0-20220318.2" PrivateAssets="All" />
    <PackageReference Include="System.Activities.Metadata" Version="6.0.0-20220318.2" PrivateAssets="All" />
  </ItemGroup>
</Project><Project Sdk="Microsoft.NET.Sdk.WindowsDesktop" ToolsVersion="Current">
  <PropertyGroup>
    <TargetFrameworks>net461;net6.0-windows</TargetFrameworks>
    <AssemblyName>MathSquareOfSum</AssemblyName>
    <RootNamespace>MathSquareOfSum</RootNamespace>
    <UseWpf>true</UseWpf>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  </PropertyGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
    <Reference Include="System" />
    <Reference Include="System.Activities" />
    <Reference Include="System.Activities.Core.Presentation" />
    <Reference Include="System.Activities.Presentation" />
    <Reference Include="System.ComponentModel.Composition" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xaml" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Xml" />
    <Reference Include="WindowsBase" />
  </ItemGroup>
  <ItemGroup Condition=" '$(TargetFramework)' == 'net6.0-windows' ">
    <PackageReference Include="UiPath.Workflow.Runtime" Version="6.0.0-20220401-03" PrivateAssets="All" />
    <PackageReference Include="UiPath.Workflow" Version="6.0.0-20220401-03" PrivateAssets="All" />
    <PackageReference Include="System.Activities.Core.Presentation" Version="6.0.0-20220318.2" PrivateAssets="All" />
    <PackageReference Include="System.Activities.Metadata" Version="6.0.0-20220318.2" PrivateAssets="All" />
  </ItemGroup>
</Project>
Comprueba el código en el archivo .cs para cada destino en busca de referencias que falten y actualiza las referencias en el archivo .csproj si es necesario.


Importante: No incluyas los paquetes a los que se hace referencia en el paquete NuGet ni los añadas como dependencias en los metadatos del paquete. Si se incluyen los paquetes a los que se hace referencia, se producirá un error al instalar el paquete en Studio.

Paso 2: crear la solución

Asegúrese de probar el proyecto en busca de errores antes de intentar crearlo.

En el menú Crear , selecciona Crear solución. Las bibliotecas DLL se crean y guardan en la siguiente ubicación en carpetas separadas para cada marco de destino: %UserProfile%\source\repos\MathSquareOfSum\MathSquareOfSum\bin\Debug

Paso 3: crear un paquete NuGet

Crea un paquete NuGet utilizando el Explorador de paquetes NuGet, como se describe en Crear actividades con código (heredado).

  1. Inicia el Explorador de paquetes NuGet y haz clic en Crear un paquete nuevo (Ctrl + N). Se muestra una ventana dividida que muestra los metadatos y el contenido del paquete. Necesitamos agregar todas las dependencias en esta última sección.
  2. Haz clic con el botón derecho dentro de la sección Contenido del paquete . Se muestra un menú contextual.
  3. Haz clic en Agregar carpeta lib. Ten cuenta que se creará un nuevo elemento lib en la sección de Contenidos del paquete.
  4. Haz clic con el botón derecho en lib dos veces y selecciona lo siguiente:
    • Agregar carpeta .NET Framework > v4.6.1
    • Agregar carpeta .NET > v6.0-windows
  5. Haz clic con el botón derecho del ratón en cada una de las carpetas añadidas en el paso anterior y selecciona Añadir archivo existente para cargar los archivos de ensamblado externo (.dll) necesarios para cada una. Los archivos se encuentran en una subcarpeta con el nombre del marco ubicado en la carpeta \bin\Debug :
    • net461 - MathSquareOfSum.dll
    • net6.0-windows - MathSquareOfSum.dll
  6. Cambia el nombre de la carpeta net6.0-windows a net6.0-windows7.0.
  7. Con el archivo seleccionado, acceda al menú Editar y seleccione Editar metadatos. El panel izquierdo ahora está equipado con campos de metadatos editables.
  8. Edita los campos de metadatos según sea necesario.
  9. Selecciona Editar dependenciasy luego agrega los siguientes marcos de destino: net461 y net6.0-windows7.0.


  10. Haga clic en el botón de marca de verificación verde en la esquina superior izquierda para guardar todos los cambios.
  11. Seleccione Archivo > Guardar como para guardar el nuevo archivo.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.