- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- 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-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DBP-020 - Undefined Output Properties
- 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-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
- Variables
- Arguments
- Imported Namespaces
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Automating Citrix Technologies
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- Extensions
- Troubleshooting
- About troubleshooting
- 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
- JxBrowser applications troubleshooting
- User Events Monitoring
- Citrix Troubleshooting
- Automating Applications Running Under a Different Windows User
About Libraries
A library is a project which contains one or more workflows that can be reused as activities in other projects. Libraries are saved as NUPKG files when published and can be installed as dependencies from the Package Manager.
For example, you could create a library that collects data from an Excel spreadsheet and appends it to another, as explained in the Creating a Basic Library page. Next, the library can be packaged and used in other processes as an activity.
To add a tooltip and help link to an activity, right-click the workflow file in the Project panel and select Properties. The tooltip is visible when you hover over the activity in the Activities and Designer panels in projects where the library is installed. The Help Link opens when you select the activity in the Designer panel and press F1.
Arguments you define in the library become activity properties in the projects where the library is installed as a dependency. Arguments that are marked as required are available in the body of the activity in the Designer panel. Annotations you add to an argument in the library are displayed as a tooltip for the property in the resulting activity's Properties panel. For more information about arguments, see Arguments Panel.
- In the case of libraries, it is recommended to use
Nothing
to assign a null value to a variable, rather than""
. This is done to avoid any inconsistencies when using the packaged library as a dependency to a project. - The ImplementationVersion property of the
System.Activities.ActivityBuilder
object is not supported. Setting a value for this property results in arguments not being saved. This object is displayed in the Properties panel when you select the blank area of the Designer panel.
To configure the settings of a library project, open the Project Settings window by clicking Settings in the Project panel.
The following options are available in the General tab:
- Name - edit the name of the project.
- Description - edit the description of the project.
- Automation Hub URL - URL of an Automation Hub idea linked to the project. For more information, see Linking a Project to an Idea in Automation Hub.
-
Project Icon - optionally, define a custom icon for the project. You can browse to and select a file, or enter a path or public URL to an
ico
,jpeg
,jpg
, orpng
file up to 1MB in size.After the project is published, the icon is displayed next to the package in the Manage Packages window in Studio.
- Include Sources - set to Yes to include all
.xaml
sources within the library package, including workflows that were previously made private. For Windows - Legacy libraries, the files are saved in the generated assembly file and in thelib\net45
folder in the.nupkg
file. For Windows and cross-platform libraries, the files are saved in thecontent
folder in the.nupkg
file. - Compile activities expressions - set to Yes to compile and package all activities expressions with the library. This results in an improved execution time. Available for Windows - legacy libraries only.
- Ready to Run - set to Yes to optimize the generated assemblies for faster JIT compilation at runtime. Available for Windows - legacy libraries only.
- Modern Design Experience - set to Yes to enable a modern experience of working with UI Automation, including new and improved activities, recorders, and wizards, as well as the Object Repository.
Publishing libraries is similar to publishing processes. For more information, see About Publishing Automation Projects.
When publishing libraries, take into account the following limitations:
-
Due to NuGet limitations:
- You cannot publish libraries to locations that contain user-restricted subfolders using Windows environment path variables.
- Release notes for published libraries are visible only in Orchestrator.
- Libraries with special characters in the names of
.xaml
files they contain may not be successfully published. - If a library contains a
.xaml
file and an argument that have the same name, the library cannot be published. - Library projects with the Windows - Legacy compatibility cannot be published if they contain Invoke Workflow File activities with the Isolated option selected. An error message is displayed in the Output panel when you try to publish. This limitation does not apply to libraries that use the Windows or cross-platform compatibility.
- When using Invoke Workflow File activity, make sure the invoked file is located in the same folder as the library project.
- The Launch Workflow Interactive activity is not supported for libraries.
- Using Invoke Workflow File inside a library to reference the library itself is not supported.
- If a library contains an activity that accepts a file path as input, when the component is used in a project, paths that include
environment variables are interpreted as paths relative to the library folder. As a workaround, use either the
Environment.GetEnvironmentVariable
method or a Get Environment Folder activity to retrieve the folder path, and then use the output to construct an absolute path to pass to the reusable component. - If a workflow file placed inside a folder in a library is used as a namespace in a project, changing the folder name, republishing, and installing the updated library in the project results in unknown activities.
- Open or create a new project.
- Under the All Packages category, pick the feed under which the library is saved and install the package.
- Select OK and the package is added to the project definition.
- The activity is found in the custom category of the Activities panel.
Considerations for Installing Libraries in Projects
- Libraries can only be installed in projects that have the same compatibility.
- If a cross-platform library contains a workflow with UI Automation activities, adding the generated activity in a cross-platform project results in a validation error when the project is executed.
- Errors may occur when you run a project that contains custom activities from a library that was created in a Studio version prior to 2019.10.1 and published from Studio 2019.10.1 or later. In this scenario, you must recreate and republish the library.
- When using Import Workflows to add a workflow that contains a library in a library project, the dependencies referenced in the library are not imported.
- When importing two versions of the same custom library in a project, the extra custom activities contained only in the second library are not visible in the Activities panel unless you remove the first imported library.