SDK
Neuestes
False
Bannerhintergrundbild
Entwickleranleitung
Letzte Aktualisierung 23. März 2024

Migrieren von Aktivitäten zu .NET 6

Auf dieser Seite finden Sie einen Überblick darüber, wie Sie Ihre benutzerdefinierten .NET Framework-Aktivitäten zu .NET 6 migrieren können, um sie in Projekten mit Windows-Kompatibilität zu verwenden, die ab Studio 2021.10.6 verfügbar ist.

Wir verwenden die Beispielaktivität MathSquareOfSum .NET Framework, die auf der Seite Erstellen von Aktivitäten mit Code (Legacy) dokumentiert ist, als Beispiel für eine Migration zu .NET 6, das auf Windows abzielt und gleichzeitig die Kompatibilität mit .NET Framework für Windows Legacy-Projekte beibehält.

Schritt 1: Migrieren des Projekts in das neue SDK-Format und Hinzufügen von „net6.0-windows Ziel

Ein Projekt, das das .NET Framework-Projektformat verwendet, muss in das neue SDK-Format migriert werden. Weitere Informationen finden Sie in der Microsoft-Dokumentation. Paketverweise müssen in der .csproj-Datei deklariert werden im Gegensatz zu packages.config aus.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Projekt entladen aus .
  2. Kopieren Sie Verweise, und löschen Sie alles aus der Datei .csproj .
  3. Aktualisieren Sie die Datei .csproj manuell auf das neue Format.
  4. Fügen Sie das Zielframework net6.0-windows hinzu.
  5. Markieren Sie die ursprünglichen Referenzen als net461 , indem Sie nur eine Bedingung hinzufügen.
  6. Fügen Sie einen neuen Referenzabschnitt mit Bedingungen für net6.0-windows hinzu. Sie müssen die folgenden WWF-Abhängigkeiten für .NET deklarieren: UiPath.Workflow.Runtime, UiPath.Workflow, System.Activities.Core.Presentation, System.Activities.Metadata. Stellen Sie sicher, dass alle Ihre Abhängigkeiten .NET unterstützen. Möglicherweise müssen Sie neuere Paketversionen oder Ersatzpakete finden.
  7. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Projekt neu ladenaus.

Die Datei sollte wie folgt aussehen.

<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>
Überprüfen Sie den Code in der .cs -Datei für jedes Ziel auf fehlende Verweise und aktualisieren Sie bei Bedarf die Verweise in der .csproj -Datei.


Wichtig: Fügen Sie die referenzierten Pakete nicht in das NuGet-Paket ein und fügen Sie sie nicht als Abhängigkeiten in den Paketmetadaten hinzu. Das Einschließen der referenzierten Pakete führt dazu, dass die Installation des Pakets in Studio fehlschlägt.

Schritt 2: Erstellen der Lösung

Testen Sie das Projekt auf Fehler, bevor Sie versuchen, es zu erstellen.

Wählen Sie im Menü Erstellen die Option Projektmappe erstellenaus. Die DLL-Bibliotheken werden für jedes Zielframework in separaten Ordnern am folgenden Speicherort erstellt und gespeichert: %UserProfile%\source\repos\MathSquareOfSum\MathSquareOfSum\bin\Debug

Schritt 3: Erstellen eines NuGet-Pakets

Erstellen Sie ein NuGet-Paket mit dem NuGet Package Explorer, wie unter Erstellen von Aktivitäten mit Code (Legacy) beschrieben.

  1. Starten Sie den NuGet-Paket-Explorer und klicken Sie auf Ein neues Paket erstellen (Strg + N). Ein geteiltes Fenster wird angezeigt, in dem Paketmetadaten und Paketinhalteangezeigt werden. Im letzten Abschnitt fügen wir alle Abhängigkeiten hinzu.
  2. Klicken Sie mit der rechten Maustaste in den Abschnitt Paketinhalt . Ein Kontextmenü wird angezeigt.
  3. Klicken Sie auf lib-Ordner hinzufügen (Add lib folder). Ein neues lib (lib)-Element wurde im Bereich Paketinhalt (Package contents) erstellt.
  4. Klicken Sie zweimal mit der rechten Maustaste auf lib und wählen Sie wie folgt aus:
    • .NET Framework-Ordner hinzufügen > v4.6.1
    • .NET-Ordner hinzufügen > v6.0-windows
  5. Klicken Sie mit der rechten Maustaste auf jeden der Ordner, die im vorherigen Schritt hinzugefügt wurden, und wählen Sie Vorhandene Datei hinzufügen aus, um die für jede einzelne erforderlichen externen Assembly-Dateien (.dll) zu laden. Die Dateien befinden sich in einem Unterordner, wobei sich der Framework-Name im Ordner \bin\Debug befindet:
    • net461 - MathSquareOfSum.dll
    • net6.0-windows - MathSquareOfSum.dll
  6. Benennen Sie den Ordner net6.0-windows in net6.0-windows7.0um.
  7. Wenn die Datei ausgewählt ist, greifen Sie auf das Menü Bearbeiten zu, und wählen Sie Metadaten bearbeitenaus. Das linke Panel ist jetzt mit bearbeitbaren Metadatenfeldern ausgestattet.
  8. Bearbeiten Sie die Metadatenfelder nach Bedarf.
  9. Wählen Sie Abhängigkeiten bearbeitenaus, und fügen Sie dann die folgenden Zielframeworks hinzu: net461 und net6.0-windows7.0.


  10. Klicken Sie auf das grüne Häkchen in der oberen linken Ecke, um alle Änderungen zu speichern.
  11. Wählen Sie Datei > Speichern unter aus, um die neue Datei zu speichern.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.