UiPath Documentation
marketplace
latest
false
Wichtig :
Dieser Inhalt wurde maschinell übersetzt. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Marketplace-Benutzerhandbuch

Letzte Aktualisierung 1. Apr. 2026

Erstellen von Aktivitätspaketen

Da die Plattform von UiPath auf dem .NET-Framework basiert, haben alle Aktivitäten die Form eines Nuget-Pakets (dies ist die .nupkg- Datei, die Sie erhalten, wenn Sie eine Aktivität direkt von Go! herunterladen zum UiPath Marketplace oder aus den Feeds im Paketmanager von UiPath Studio ). Es sind 4 Dateitypen erforderlich, um Ihre Dateien in einem einzigen Nuget-Paket zu bündeln:

AssemblyInfo-Dateien

Dokumentationsbild

Wenn Sie ein Projekt in Visual Studio erstellen, wandelt die Microsoft Build Engine ( auch: MSBuild) den Code dieses Projekts in eine DLL um, eine Bibliothek, die von anderen Windows-Anwendungen verwendet werden kann. Die Metadaten für diese Bibliothek stammen aus drei AssemblyInfo- Dateien, die im Abschnitt Eigenschaften Ihres Projekts gespeichert sind und Informationen für verschiedene Ebenen eines Aktivitätssatzes bereitstellen. Sehen wir uns die einzelnen Optionen an:

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 enthält die Metadaten, die nur für dieses Projekt vorhanden sind (z. B. MeinUnternehmen.MeinProdukt).

  • AssemblyTitle gibt Ihrer DLL einen aussagekräftigen Namen. Der Einfachheit halber sollte dieser mit dem Namen des Projekts übereinstimmen.
  • AssemblyDescription ist eine kurze Zusammenfassung der Art und des Zwecks der Assembly. Es gibt mehrere andere Attribute, z. B. Kultur oder Versionsnummer, die enthalten sein können. Eine vollständige Liste finden Sie in der offiziellen Dokumentation von Microsoft.
  • ComVisible und Guid sind Standardattribute, die von Anwendungen verwendet werden, die auf die letztliche Bibliothek dieses Projekts verweisen. Sie bleiben für die meisten Aktivitäten unverändert, aber Sie können hier mehr über die Auswirkungen lesen .

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

Die nächste Assembly-DateiAssemblyInfo.cs, enthält die Metadaten, die für den Aktivitätssatz als Ganzes eindeutig sind, aber von allen Projekten gemeinsam genutzt werden; in diesem Fall nur die Aktivitätsversion. Beachten Sie, dass sich die Version bei jeder Visual Studio-Konfiguration unterscheidet:

  • 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.

    Dokumentationsbild

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 enthält die Metadaten, die von allen von Ihnen erstellten Aktivitätssätzen gemeinsam genutzt werden. Die Pakete UiPath.GSuite.Activities und UiPath.MicrosoftOffice365.Activities wurden beispielsweise von demselben Unternehmen (UiPath) erstellt, zielen auf dasselbe Produkt ab (UiPath Studio) und haben dasselbe Urheberrecht, Warenzeichen und Sprachinformationen, daher wurden sie verwendet dieselbe GlobalAssemblyInfo.cs-Datei verwenden, um unnötige Duplizierung zu vermeiden.

Nuspec

Dokumentationsbild

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.

Die vollständige Liste der über die NuSpec verfügbaren Metadatenelemente finden Sie hier, aber werfen Sie zuerst einen Blick auf das grundlegende Beispiel unten. Diese Elemente entsprechen den Feldern, die im Paketmanager von UiPath Studio angezeigt werden, und ermöglichen es Benutzern, Ihren Aktivitätssatz zu finden und zu unterscheiden.

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>

Dokumentationsbild

Hinweis:

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.

Designer-Metadaten

Dokumentationsbild

Nachdem Ihre Aktivitäten erstellt und Ihre Designer (UI-Elemente) erstellt wurden, müssen sie miteinander verknüpft und im Metadatenspeicher registriert werden, um im Aktivitätenbereich von UiPath Studio angezeigt zu werden. Der folgende Code erstellt zwei Aktivitäten (Übergeordneter Bereich und untergeordnete Aktivität), indem die folgenden Informationen für jeden registriert werden:

  • Kategorie: Der Abschnitt des Aktivitätenbereichs, in dem diese Aktivitäten angezeigt werden. Standardmäßig ist dies auf *MeinUnternehmen > Mein Produkt festgelegt

  • und kann durch Ändern des Attributs Category in Resources.resx geändert werden. Sehen Sie, wie Zeile 12 eine Klasse von Ihrem Aktivitätsprojekt mit der in Zeile 10 angegebenen Kategorie verknüpft.

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

  • Dokumentation: Onlinedokumente für die Aktivität. Wählen Sie eine beliebige Aktivität in einem Ihrer UiPath-Workflows aus, drücken Sie F1 und die Hilfedokumentation für diese Aktivität wird im Standardbrowser geöffnet. Die URL für diese Dokumentation wird hier wie in Zeile 14 (*go.uipath.com) angegeben

  • wird als Platzhalter verwendet).

    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());
            }
        }
    }
    

    Dokumentationsbild

Erstellen des Aktivitätssatzes

Sobald die oben genannten Dateien vollständig sind, ist das Erstellen des Aktivitätssatzes einfach. Klicken Sie im Projektmappen-Explorer einfach mit der rechten Maustaste auf Ihre Lösung, und wählen Sie Projektmappe neu erstellen aus.

Dokumentationsbild

Der Ausgabebereich zeigt dann an, dass alle drei Projekte erfolgreich erstellt wurden, und gibt den Pfad zu Ihrer gebündelten nupkg-Datei an.

Dokumentationsbild

Hinweis:

Zum Erstellen Ihres Aktivitätspakets könnten Sie auch mit der rechten Maustaste auf den Ordner MyCompany.MyProduct oder das Projekt MyCompany.MyProduct.Activities.Design geklickt und „Neu erstellt“ haben. Warum ist das so? Siehe nächster Abschnitt über Skripte nach der Erstellung.

Skripte nach der Erstellung

Navigieren Sie zu Eigenschaften > Buildereignisse Ihres Designprojekts, und Sie finden ein Post-Build-Skript, das sofort ausgeführt wird, nachdem alle Ihre Projekte erstellt wurden.

Dokumentationsbild

Die erste Zeile dieses Skripts löscht alle älteren, veralteten Versionen des Pakets, die im Ausgabeverzeichnis vorhanden sind, um Ordnung zu schaffen.

In der zweiten Zeile wird das NuGet-Befehlszeilentool (nuget.exe) verwendet, um die DLLs Ihrer drei Projekte in einem NuGet-Paket zu kombinieren, das von UiPath Studio gelesen werden kann.

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)

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben