UiPath Documentation
marketplace
latest
false
Important :
Ce contenu a été traduit à l'aide d'une traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Guide de l'utilisateur Marketplace

Dernière mise à jour 5 mai 2026

Créer des packages d’activités

Étant donné que la plate-forme d'UiPath est basée sur l'infrastructure .NET, toutes les activités prennent la forme d'un package Nuget . que vous obtenez lorsque vous téléchargez une activité directement depuis Go! vers Marketplace ou à partir des flux du gestionnaire de packages d'UiPath Studio ). 4 types de fichiers sont nécessaires afin de regrouper vos fichiers dans un seul package Nuget :

Fichiers AssemblyInfo

Chaque fois que vous créez un projet dans Visual Studio, Microsoft Build Engine transforme le code de ce projet en DLL, une bibliothèque qui peut être utilisée par d'autres applications Windows. Les métadonnées de cette bibliothèque proviennent de trois fichiers AssemblyInfo stockés dans la section Propriétés de votre projet et qui fournissent des informations pour les différents niveaux d'un ensemble d'activités. Examinons-les :

1. AssemblyInfo.cs

[assembly: AssemblyTitle("MyCompany.MyProduct.Activities")]
[assembly: AssemblyDescription("This activity was made using the UiPath Activity Set extension.")]
[assembly: ComVisible(false)]
[assembly: Guid("133E5191-68DA-4F05-9A81-D5CFA16525C8")]
[assembly: AssemblyTitle("MyCompany.MyProduct.Activities")]
[assembly: AssemblyDescription("This activity was made using the UiPath Activity Set extension.")]
[assembly: ComVisible(false)]
[assembly: Guid("133E5191-68DA-4F05-9A81-D5CFA16525C8")]

AssemblyInfo.cs contient les métadonnées uniques à ce projet particulier (par ex. MyCompany.MyProduct).

  • AssemblyTitle donne un nom convivial à votre DLL. Par souci de simplicité, ce nom doit correspondre au nom du projet.
  • Description de l'assembly est un bref résumé de la nature et de l'objectif de l'assembly. Plusieurs autres attributs, tels que la culture ou le numéro de version, peuvent être inclus. Pour obtenir une liste complète, consultez la documentation officielle de Microsoft.
  • ComVisible et Guid sont les attributs par défaut utilisés par les applications référençant la bibliothèque d'événements de ce projet. Ils restent inchangés pour la plupart des activités, mais vous pouvez en savoir plus sur leurs effets ici.

2. MyCompany.MyProductAssemblyInfo.cs

#i DEBUG
[assembly: AssemblyVersion("1.0.*")]
#els
[assembly: AssemblyVersion("1.0.0")]
#endi
#i DEBUG
[assembly: AssemblyVersion("1.0.*")]
#els
[assembly: AssemblyVersion("1.0.0")]
#endi

Le prochain fichier de l’assemblyAssemblyInfo.cs contient les métadonnées uniques à l'activité définie dans son ensemble, mais qui sont partagées entre tous les projets ; dans ce cas, uniquement la version de l’activité. Notez que la version diffère pour chaque configuration de Visual Studio :

  • Debug: If Visual Studio is in debug mode, the activity is built with a version number 1.0.*, meaning the major and minor versions are set (1.0) and the patch version increments on each build. This is useful when making frequent changes to the same code as each subsequent package will be built with a new version, making it easily distinguishable.

  • Release: If Visual Studio is in release mode, the version number is set (e.g. 1.0.0). This provides complete control when it's time to officially release a package.

3. GlobalAssemblyInfo.cs

[assembly: AssemblyCompany("MyCompany")]
[assembly: AssemblyProduct("Product A")]
[assembly: AssemblyCopyright("MyCompany © 2019")]
[assembly: AssemblyTrademark("MyCompany™")]
[assembly: AssemblyCulture("en-CA")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: AssemblyCompany("MyCompany")]
[assembly: AssemblyProduct("Product A")]
[assembly: AssemblyCopyright("MyCompany © 2019")]
[assembly: AssemblyTrademark("MyCompany™")]
[assembly: AssemblyCulture("en-CA")]
[assembly: NeutralResourcesLanguage("en-US")]

GlobalAssemblyInfo.cs contient les métadonnées partagées entre tous les ensembles d'activités que vous produisez. Les packages UiPath.GSuite.Activities et UiPath.MicrosoftOffice365.Activities , par exemple, ont été créés par la même entreprise (UiPath), ciblent le même produit (UiPath Studio) et ont les mêmes informations de droit d'auteur, demarque déposée et de langue , de sorte qu'ils ont utilisé le même fichier GlobalAssemblyInfo.cs pour éviter les doublons inutiles.

Nuspec

Once all of your projects are compiled into DLLs, these libraries are bundled into a Nuget package that can be used in UiPath Studio. The metadata for this package comes from the nuspec file within your Design project.

Vous pouvez voir la liste complète des éléments de métadonnées disponibles via le nuspec ici, mais jetez d'abord un coup d'œil à l'exemple de base ci-dessous. Ces éléments correspondent aux champs affichés dans le gestionnaire de packages d'UiPath Studio et permettent aux utilisateurs de rechercher et de distinguer votre ensemble d'activités.

Note that some of the elements, such as id and version, contain tags in the form $element$. These are taking their values from the corresponding tags in the AssemblyInfo files to prevent duplicating information.

<?xml version="1.0"?>
<package>
  <metadata>
    <id>$title$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <description>$description$</description>
    <copyright>$copyright$</copyright>
    <requireLicenseAcceptance>true</requireLicenseAcceptance>
    <licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
    <projectUrl>https://integrations.uipath.com/docs/integrating-with-uipath</projectUrl>
    <iconUrl>https://raw.githubusercontent.com/NuGet/Samples/master/PackageIconNuspecExample/icon.png</iconUrl>
    <tags>UiPath Activities</tags>
    <dependencies>
    </dependencies>
  </metadata>
  <files>
    <file src="$OutputPath$**\)\)MyCompany.MyProduct*resources.dll" target="lib\)
et461"/>
  </files>
</package>
<?xml version="1.0"?>
<package>
  <metadata>
    <id>$title$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <description>$description$</description>
    <copyright>$copyright$</copyright>
    <requireLicenseAcceptance>true</requireLicenseAcceptance>
    <licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
    <projectUrl>https://integrations.uipath.com/docs/integrating-with-uipath</projectUrl>
    <iconUrl>https://raw.githubusercontent.com/NuGet/Samples/master/PackageIconNuspecExample/icon.png</iconUrl>
    <tags>UiPath Activities</tags>
    <dependencies>
    </dependencies>
  </metadata>
  <files>
    <file src="$OutputPath$**\)\)MyCompany.MyProduct*resources.dll" target="lib\)
et461"/>
  </files>
</package>

Remarque :

If you're familiar with Visual Studio, you may know it is actually capable of building Nuget packages on its own using only the AssemblyInfo files and MSBuild. So why use an extra nuspec file? Certain metadata properties, such as the package Owner and Localization files, are only available in a nuspec, which is why we like to keep it around.

Métadonnées du concepteur

Une fois vos activités créées et vos concepteurs (éléments d'IU) créés, ils doivent être liés et enregistrés dans le magasin de métadonnées afin d'être affichés dans le panneau Activités d'UiPath Studio. Le code ci-dessous crée deux activités (Étendue parent et Activité enfant) en enregistrant les informations suivantes au nom de chacune d’entre elles :

  • Catégorie: section du volet Activités dans laquelle ces activités apparaîtront. Par défaut, il est défini sur *MonEntreprise > MonProduit.

  • et peut être modifié en modifiant l’attribut Catégorie dans Resources.resx. Découvrez comment la ligne 12 lie une classe de votre projet d'activité à la catégorie spécifiée sur la ligne 10.

  • Designer: The UI for that activity. See how line 13 links a class from your activity project to a class from your design project.

  • Documentation: documents en ligne de l'activité. Sélectionnez n'importe quelle activité dans l'un de vos workflows UiPath, appuyez sur F1 et la documentation d'aide de cette activité s'ouvrira dans le navigateur par défaut. L'URL de cette documentation est spécifiée ici, sous la forme d'une ligne 14 (*go.uipath.com

  • est utilisé comme espace réservé).

    namespace MyCompany.MyProduct.Activities.Design
    {
        public class DesignerMetadata : IRegisterMetadata
        {
            public void Register()
            {
                var builder = new AttributeTableBuilder();
                builder.ValidateTable();
                var categoryAttribute =  new CategoryAttribute($"{Resources.Category}");
                builder.AddCustomAttributes(typeof(ParentScope), categoryAttribute);
                builder.AddCustomAttributes(typeof(ParentScope), new DesignerAttribute(typeof(ParentScopeDesigner)));
                builder.AddCustomAttributes(typeof(ParentScope), new HelpKeywordAttribute("https://go.uipath.com"));
                builder.AddCustomAttributes(typeof(ChildActivity), categoryAttribute);
                builder.AddCustomAttributes(typeof(ChildActivity), new DesignerAttribute(typeof(ChildActivityDesigner)));
                builder.AddCustomAttributes(typeof(ChildActivity), new HelpKeywordAttribute("https://go.uipath.com"));
                MetadataStore.AddAttributeTable(builder.CreateTable());
            }
        }
    }
    namespace MyCompany.MyProduct.Activities.Design
    {
        public class DesignerMetadata : IRegisterMetadata
        {
            public void Register()
            {
                var builder = new AttributeTableBuilder();
                builder.ValidateTable();
                var categoryAttribute =  new CategoryAttribute($"{Resources.Category}");
                builder.AddCustomAttributes(typeof(ParentScope), categoryAttribute);
                builder.AddCustomAttributes(typeof(ParentScope), new DesignerAttribute(typeof(ParentScopeDesigner)));
                builder.AddCustomAttributes(typeof(ParentScope), new HelpKeywordAttribute("https://go.uipath.com"));
                builder.AddCustomAttributes(typeof(ChildActivity), categoryAttribute);
                builder.AddCustomAttributes(typeof(ChildActivity), new DesignerAttribute(typeof(ChildActivityDesigner)));
                builder.AddCustomAttributes(typeof(ChildActivity), new HelpKeywordAttribute("https://go.uipath.com"));
                MetadataStore.AddAttributeTable(builder.CreateTable());
            }
        }
    }
    

Construire l'ensemble d'activités

Une fois les fichiers susmentionnés terminés, la création de l'ensemble d'activités est facile. Dans l'explorateur de solutions, cliquez simplement avec le bouton droit sur votre solution et sélectionnez Reconstruire la solution (Rebuild Solution).

Le panneau de sortie indiquera alors que les trois projets ont été générés avec succès et fournira le chemin d’accès à votre fichier nupkg groupé.

Remarque :

Pour créer votre package d’activités, vous pouvez également cliquer avec le bouton droit de la souris et « recréer » le dossier MyCompacy.MyProduct ou le projet MyCompacy.MyProduct.Activities.Design . Pourquoi cela ? Consultez la section suivante sur les scripts post-build.

Scripts post-construction

Accédez aux Propriétés (Properties) > Événements de construction (Build Events) de votre projet de conception et vous trouverez un script de post-génération, qui s'exécute immédiatement après la création de tous vos projets.

La première ligne de ce script supprime toutes les anciennes versions obsolètes du package qui existent dans le répertoire de sortie afin d'éviter l'encombrement.

La deuxième ligne utilise l'outil de ligne de commande NuGet (nuget.exe) pour combiner les DLL de vos 3 projets en un package NuGet lisible par UiPath Studio.

if exist $(TargetDir)Packages\)\)MyCompany.MyProduct*.* del $(TargetDir)Packages\)\)MyCompany.MyProduct*.*
if $(ConfigurationName) == Debug "$(SolutionDir).nuget\)\)NuGet.exe" pack "$(ProjectPath)" -OutputDirectory "Packages" -IncludeReferencedProjects -Prop Configuration=$(ConfigurationName)
if exist $(TargetDir)Packages\)\)MyCompany.MyProduct*.* del $(TargetDir)Packages\)\)MyCompany.MyProduct*.*
if $(ConfigurationName) == Debug "$(SolutionDir).nuget\)\)NuGet.exe" pack "$(ProjectPath)" -OutputDirectory "Packages" -IncludeReferencedProjects -Prop Configuration=$(ConfigurationName)

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour