- 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-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Properties
- 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
- Variables
- Arguments
- Imported Namespaces
- Coded automations
- Introduction
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
- Troubleshooting
- 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
Troubleshooting
This page provides valuable insights and solutions to common issues encountered during the development and execution of coded automations.
Type X cannot be serialized
If your coded automation returns complex types that are not implemented in the coded interface, you will likely receive an error stating that a specific type cannot be serialized. Additionally, the error message recommends to mark the type with the DataContract attribute.
To solve this issue, follow these steps:
- Add the
DataContractattribute to each class in the coded automation. - Add the
DataMemberattribute to every property of the class. - Manually import the
System.Runtime.Serializationnamespace:using System.Runtime.Serialization.
using System;
using System.Runtime.Serialization;
using System.Collections.Generic;
using System.Data;
using UiPath.Core;
using UiPath.Core.Activities.Storage;
using UiPath.MicrosoftOffice365.Activities.Api;
using UiPath.Orchestrator.Client.Models;
namespace ClassifyCalendarEvents
{
[DataContract]
public class Attendee
{
[DataMember] public string Email { get; set; }
[DataMember] public string Name { get; set; }
[DataMember] public string MeetingStatus { get; set; } // e.g., "Accepted", "Declined", "Tentative"
[DataMember] public string Role { get; set; } // e.g., "Organizer", "Speaker", "Participant"
[DataMember] public string Type { get; set; } // e.g., "Internal", "External"
}
}
using System;
using System.Runtime.Serialization;
using System.Collections.Generic;
using System.Data;
using UiPath.Core;
using UiPath.Core.Activities.Storage;
using UiPath.MicrosoftOffice365.Activities.Api;
using UiPath.Orchestrator.Client.Models;
namespace ClassifyCalendarEvents
{
[DataContract]
public class Attendee
{
[DataMember] public string Email { get; set; }
[DataMember] public string Name { get; set; }
[DataMember] public string MeetingStatus { get; set; } // e.g., "Accepted", "Declined", "Tentative"
[DataMember] public string Role { get; set; } // e.g., "Organizer", "Speaker", "Participant"
[DataMember] public string Type { get; set; } // e.g., "Internal", "External"
}
}
Publishing errors
Publishing errors occur when trying to compile or publish a project. These errors are tied to issues within coded workflows and project configurations, and are specifically linked to reserved keywords or syntax conflicts within the project name or internal structure (project.json or namespace handling).
Error Codes
- CS1001: Identifier expected. Indicates a missing or invalid identifier in the code.
- CS0116: A namespace cannot directly contain members such as fields, methods, or statements. Suggests improperly placed code within the namespace.
- CS1514:
{expected. A curly brace{to start a block of code is missing. - CS1022: Type or namespace definition, or end-of-file expected. Indicates improper placement of definitions or an incomplete file structure.
Root Cause
- Use of reserved keywords: The project name includes a reserved keyword (e.g., "for"), which conflicts with
C#syntax rules and causes compilation errors. - Direct modifications to the project.json file: Manual changes to
project.jsonmay inadvertently result in incorrect project configuration. - Coded workflows misinterpreted by the compiler: Certain workflows may contain coding structures that are incompatible with the reserved keywords in the project name.
Resolution
To solve this issue, perform one or more of the following actions.
- Rename the project: Check if the project name does not contain reserved keywords (e.g., "for"). Use a unique and valid name without conflicting keywords or special characters.
- Rename the project folder and update the
project.jsonfile to match the new name. - Modify coded workflows: If there are coded workflows in the project files, ensure that references to the old project name (with reserved keywords) are updated to reflect the new name. Address compiler misinterpretation by ensuring proper syntax and namespace configurations in coded workflows.
- Back up and avoid editing
project.jsondirectly: Take a backup of the project folder before making changes. Avoid manually editing theproject.jsonfile unless necessary. It is better to use UiPath Studio to make project configuration changes. - Validate the project structure and syntax: Open the renamed project in UiPath Studio and verify that all configurations, workflows, and namespace structures are valid and aligned with
C#syntax rules. Compile or publish the project to confirm that the errors are resolved.
Best Practices
- Use descriptive and well-structured project names, avoiding reserved keywords, special characters, or numerical-only names.
- Follow standard coding practices when dealing with coded workflows in UiPath Studio to ensure compatibility.
- Maintain backups prior to any changes, particularly before modifying critical files like
project.json.
By implementing the above steps, publishing errors (CS1001, CS0116, CS1514, CS1022) can be resolved, allowing for successful compilation and workflow execution in UiPath Studio.