sdk
latest
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo.
UiPath logo, featuring letters U and I in white
Guia do desenvolvedor
Last updated 25 de out de 2024

Migrando Atividades para o .NET 6

Esta página oferece uma visão geral de como migrar suas atividades personalizadas do .NET Framework para o .NET 6 para uso em projetos com a compatibilidade do Windows disponível a partir do Studio 2021.10.6.

Usaremos a atividade de exemplo do .NET Framework MathSquareOfSum documentada na página Criando Atividades com Código (Legado) como um exemplo para uma migração para o .NET 6 que tem como alvo o Windows enquanto também mantém a compatibilidade com o .NET Framework para Windows - Projetos legados.

Etapa 1: migrar o projeto para o novo formato estilo SDK e adicionar o net6.0-windows destino

Um projeto que esteja usando o formato de projeto do .NET Framework deve ser migrado para o novo formato do SDK. Para obter mais informação, consulte a documentação da Microsoft. As referências do pacote devem ser declaradas no arquivo .csproj em vez dopackages.config.

  1. No Explorador de Soluções, clique com o botão direito no projeto e selecione Descarregar Projeto .
  2. Copie as referências e limpe tudo do arquivo .csproj .
  3. Atualize manualmente o arquivo .csproj para o novo formato.
  4. Adicione a estrutura de destino net6.0-windows.
  5. Marcar as referências originais como net461 apenas adicionando uma condição.
  6. Adicione uma nova seção de referência com condições para net6.0-windows. Você deve declarar as seguintes dependências WWF para .NET: UiPath.Workflow.Runtime, UiPath.Workflow, System.Activities.Core.Presentation, System.Activities.Metadata. Verifique se todas as suas dependências oferecem suporte a .NET. Você pode precisar encontrar versões de pacotes mais recentes ou pacotes de substituição.
  7. No Explorador de Soluções, clique com o botão direito no projeto e selecione Recarregar Projeto.

O arquivo deve ter a seguinte aparência.

<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>
Verifique o código no arquivo .cs para cada destino em busca de referências ausentes e atualize as referências no arquivo .csproj , se necessário.


Importante: não inclua os pacotes referenciados no pacote NuGet nem adicione-os como dependências nos metadados do pacote. Incluir os pacotes referenciados resulta em uma falha na instalação do pacote no Studio.

Etapa 2: criar a solução

Certifique-se de testar se há erros no projeto antes de tentar criá-lo.

No menu Build , selecione Build Solution. As bibliotecas DLL são criadas e salvas no seguinte local em pastas separadas para cada estrutura de destino: %UserProfile%\source\repos\MathSquareOfSum\MathSquareOfSum\bin\Debug

Etapa 3: criar um pacote NuGet

Crie um pacote NuGet usando o NuGet Package Explorer, conforme descrito em Criando atividades com código (legado).

  1. Inicie o Explorador de Pacotes NuGet e clique em Criar um novo pacote (Ctrl + N). Uma janela bipartida será exibida com os metadados do pacote e o conteúdodo pacote . Precisamos adicionar todas as dependências na seção final.
  2. Clique com o botão direito do mouse dentro da seção Conteúdo do Pacote . O menu de contexto é exibido.
  3. Clique em Adicionar pasta lib. Observe que um novo item lib será criado na seção Conteúdo do Pacote.
  4. Clique com o botão direito do mouse em lib duas vezes e selecione da seguinte forma:
    • Adicionar a pasta do .NET Framework > v4.6.1
    • Adicionar pasta .NET > v6.0-windows
  5. Clique com o botão direito do mouse em cada uma das pastas adicionadas na etapa anterior e selecione Adicionar arquivo existente para carregar os arquivos de assembly externo (.dll) necessários para cada uma. Os arquivos estão localizados em uma subpasta com o nome da estrutura localizado na pasta \bin\Debug :
    • net461 - MathSquareOfSum.dll
    • net6.0-windows - MathSquareOfSum.dll
  6. Renomeie a pasta net6.0-windows para net6.0-windows7.0.
  7. Com o arquivo selecionado, acesse o menu Editar e selecione Editar metadados. O painel esquerdo agora possui campos editáveis de metadados.
  8. Edite os campos de metadados conforme necessário.
  9. Selecione Editar dependênciase adicione as seguintes estruturas de destino: net461 e net6.0-windows7.0.


  10. Clique no botão de marca de seleção verde no canto superior esquerdo para salvar todas as alterações.
  11. Selecione Arquivo > Salvar como para salvar o novo arquivo.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.