studio
2024.10
false
- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- Control Flow
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- Logging
- The Diagnostic Tool
- Workflow Analyzer- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-NMG-017 - Class name matches default namespace
 
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DPB-010 - Multiple instances of [Workflow] or [Test Case]
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-021 - Hardcoded Timeout
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
 
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-017 - Invalid parameter modifier
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
 
- ST-REL-001 - Mismatched argument types
- ST-REL-006 - Infinite Loop
 
 
- Variables
- Arguments
- Imported Namespaces
- Coded automations- Introduction
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
 
- Trigger-based Attended Automation
- Object Repository
- The ScreenScrapeJavaSupport Tool
- Extensions- About extensions
- SetupExtensions tool
- UiPathRemoteRuntime.exe is not running in the remote session
- UiPath Remote Runtime blocks Citrix session from being closed
- UiPath Remote Runtime causes memory leak
- UiPath.UIAutomation.Activities package and UiPath Remote Runtime versions mismatch
- The required UiPath extension is not installed on the remote machine
- Screen resolution settings
 
 
- Group Policies
- Cannot communicate with the browser
- Chrome extension is removed automatically
- The extension may have been corrupted
- Check if the extension for Chrome is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and Incognito mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
 
- List of extensions for Chrome
- Chrome Extension on Mac
 
- Group Policies
- Cannot communicate with the browser
- Edge extension is removed automatically
- The extension may have been corrupted
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
 
- List of extensions for Edge
 
- Extension for Safari
- Extension for VMware Horizon
- Extension for Amazon WorkSpaces
- SAP Solution Manager plugin
- Excel Add-in
 
- Studio testing
- Troubleshooting- About troubleshooting
- Assembly compilation errors
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- Validation of large Windows-legacy projects takes longer than expected
 

Studio User Guide
Last updated Oct 23, 2025
Rule ID: 
         
         
         ST-REL-001Scope: Coded workflow
This rule ensures that the argument types of In/Out parameters are matching. For
               example, errors are highlighted when a 
            
            
            DataTable is used as an
               output parameter for the Execute method, if the matching input
               parameter is a DataSet.
            For instance, in the following code example, the same 
            
            isConnected
               parameter is declared as bool, and then as an int.
               To resolve this, make sure the same type is used for the
               isConnected parameter both as input and output.
            public (bool IsConnected, string Name) Execute(int IsConnected, int32 Name)
        {
            return (true, "Jade");
        }public (bool IsConnected, string Name) Execute(int IsConnected, int32 Name)
        {
            return (true, "Jade");
        }We recommend to make sure that the data types for In/Out arguments always match. If
               the method returns a tuple, such as in 
            
            
            public (bool IsConnected, string
                  Name) Execute(int IsConnected, int32 Name), an In/Out argument must
               still be declared both before and after the method. In this case,
               IsConnected is the In/Out argument as it is declared twice.
            On the other hand, when the method returns a single argument as in the example
               
            
            
         public int Execute(int Output, int c), you can declare an
               In/Out argument by naming it Output. Naming any argument as
               Output treats it as an In/Out argument, even if it's only
               declared once in the method.