Summary
- After converting a ReFramework project to use DataRow transactions (instead of QueueItems), UiPath Studio’s “Auto‑adapt” behavior for the Assign activity does not properly update the argument/argument type to DataRow in some cases. This causes type mismatches (Object vs System.Data.DataRow) and compile errors.
- This appears to be an ongoing bug and I can reproduce it in version 2026. A related report existed for earlier versions: Cannot assign from type 'System.Object' to type 'System.Data.DataRow' in Assign activity
Environment
- UiPath Studio version: 2026 (also observed in prior versions)
- Project template: ReFramework using DataRow-based transactions
- Language: VB (default for ReFramework)
Steps to reproduce
- Create or open a ReFramework project.
- Convert the project to use DataRow transactions:
- Change the TransactionItem variable/argument types from QueueItem/Object to System.Data.DataRow where appropriate (for example, in workflows that originally used QueueItem).
- In the “Should Stop” / cancellation/transaction end logic (or any place you assign TransactionItem to Nothing), add an Assign activity:
- Assign.To: TransactionItem
- Assign.Value: Nothing
- Let UiPath perform Auto‑adapt (or trigger it by saving / refactoring) and observe the generated XAML / argument definitions.
Expected behavior
- The workflow argument/variable types and the Assign activity should be adapted so the types are consistent (TransactionItem should be of type System.Data.DataRow).
Actual behavior
- The Assign activity or the called workflow’s argument type remains as Object (or the InArgument wasn’t updated), so the types are inconsistent and you get errors like “Cannot assign from type ‘System.Object’ to type ‘System.Data.DataRow’”.
- In other words, Auto‑adapt does not change the argument/in‑argument type to DataRow and leaves it as Object.
Minimal repro notes / what I observed
- The visible Assign activity shows To = TransactionItem and Value = Nothing, but the underlying argument metadata (InArgument type) is not adapted to System.Data.DataRow and remains Object.
- This leads to compile/type errors when running or validating the project.
Workarounds
- Manually change the argument type(s) in the assign value.
- Where an explicit typed value is needed, use an explicit cast to DataRow in the Assign Value, for example:
- Value: CType(Nothing, System.Data.DataRow))
- Another solution is to manually change the type using a text editor from “x:Object”>[Nothing] to “sd:DataRow”>[Nothing] (or to the desired Type)
Previous report
- This seems to be a long‑standing issue — earlier thread (older versions): Cannot assign from type 'System.Object' to type 'System.Data.DataRow' in Assign activity

