SDK
最新
バナーの背景画像
開発者ガイド
最終更新日 2024年3月23日

アクティビティを .NET 6 に移行する

このページでは、Studio v2021.10.6 以降の Windows 対応のプロジェクトで使用するために、カスタムの .NET Framework アクティビティを .NET 6 に移行する方法の概要を説明します。

ここでは、「 コードを使用してアクティビティを作成する (レガシ)」 のページに記載されているサンプルの MathSquareOfSum .NET Framework アクティビティを、Windows を対象とする .NET 6 への移行の例として、Windows を対象とする .NET Framework REST API および .NET Framework for Windows レガシ プロジェクトとの互換性を維持します。

手順 1: プロジェクトを新しい SDK スタイルの形式に移行し、net6.0-windows を追加する ターゲット

.NET Framework プロジェクト形式を使用しているプロジェクトは、新しい SDK スタイルの形式に移行する必要があります。 詳しくは、Microsoft のドキュメントをご覧ください。 パッケージ参照は .csproj ファイルで宣言する必要があります。packages.config ファイルではありません。

  1. [ソリューション エクスプローラー] でプロジェクトを右クリックし、[プロジェクトを アンロード] を選択します。
  2. 参照をコピーして、 .csproj のファイルからすべてをクリアします。
  3. .csproj ファイルを手動で新しい形式に更新します。
  4. ターゲット フレームワーク net6.0-windows を追加します
  5. 条件を追加することによってのみ、元の参照を net461 としてマークします。
  6. net6.0-windowsの条件を含む新しい参照セクションを追加します。.NET の場合、UiPath.Workflow.Runtime、UiPath.Workflow、System.Activities.Core.Presentation、System.Activities.Metadata の依存関係を宣言する必要があります。 すべての依存関係が .NET をサポートしていることを確認してください。 新しいパッケージ バージョンまたは置換パッケージが必要になることがあります。
  7. ソリューション エクスプローラーでプロジェクトを右クリックし、[プロジェクトを 再読み込み] を選択します。

ファイルは次のようになります。

<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>
.cs ファイルのコードをチェックして、それぞれのターゲットに参照がないかどうか確認し、必要に応じて .csproj ファイル内の参照を更新します。


大事な: 参照されるパッケージを NuGet パッケージに含めず、パッケージ メタデータに依存関係として追加しないでください。 参照されたパッケージを含めると、Studio でパッケージをインストールできるようになります。

ステップ 2: ソリューションを構築する

プロジェクトのビルドを試す前に、必ずプロジェクトでエラーがないかテストしてください。

[ビルド ] メニューから [ ソリューションを構築] を選択します。DLL ライブラリは、ビルドされ、各ターゲット フレームワークの別個のフォルダー内の場所に保存されます。 %UserProfile%\source\repos\MathSquareOfSum\MathSquareOfSum\bin\Debug

手順 3: NuGet パッケージを作成する

コードを使用したアクティビティの作成 (レガシ)」の説明に従って、NuGet Package Explorer を使用して NuGet パッケージを作成します。

  1. NuGet Package Explorer を起動し、[ Create a new package] (Ctrl + N)をクリックします。 [パッケージのメタデータ ] と [パッケージの 内容] を示す分割ウィンドウが表示されます。後者のセクションにすべての依存関係を追加する必要があります。
  2. [ Package contents ] セクション内を右クリックします。 コンテキスト メニューが表示されます。
  3. [Add lib folder] をクリックします。新しい [lib] 項目が、[Package contents] セクションに作成されます。
  4. lib を 2 回右クリックし、以下のように選択します。
    • v4.6.1 >.NET Framework フォルダーを追加する
    • v6.0-windows >.NET フォルダーを追加する
  5. 前の手順で追加した各フォルダーを右クリックして [ 既存のファイルを追加 ] を選択し、各ファイルに必要な外部アセンブリ (.dll) ファイルを読み込みます。 これらのファイルは、フレームワーク名が \bin\Debug フォルダーにあるサブフォルダーにあります。
    • net461 - MathSquareOfSum.dll
    • net6.0-windows - MathSquareOfSum.dll
  6. net6.0-windows フォルダーの名前を net6.0-windows7.0に変更します。
  7. ファイルを選択して 、[編集] メニューにアクセスし、[ メタデータの編集] を選択します。 左側のパネルには、編集可能なメタデータ フィールドが表示されます。
  8. 必要に応じてメタデータ フィールドを編集します。
  9. [ 依存関係を編集]を選択し、ターゲット フレームワーク net461net6.0-windows7.0を追加します。


  10. 左上隅の緑色のチェックマーク ボタンをクリックすると、すべての変更が保存されます。
  11. [ ファイル] > [名前を付けて保存] を 選択して、新しいファイルを保存します。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.