Skip to content

PackageInfo.xml ​

Chaque package embarque un manifeste qui se décrit au Server/à la Console :

xml
<?xml version="1.0" encoding="utf-8"?>
<Package Name="DayInfo" Version="0.0.0" Author="Votre nom"
         URL="https://example.com"
         Description="Ce que fait ce package"
         Icon="icon.jpg"
         ExecutableFilename="OrbitMesh.DayInfo.dll"
         Runtime="DotNet">
  <Settings>
    <Setting name="TimeZone" isRequired="true" type="Int32" description="Décalage UTC" />
    <Setting name="ApiKey" isRequired="true" type="Password" description="Clé API tierce" />
    <Setting name="Configuration" isRequired="true" type="JsonObject" description="Config structurée">
      <defaultContent>{ "RefreshIntervalSeconds": 900 }</defaultContent>
    </Setting>
  </Settings>
  <Dependencies>
    <Dependency name="OrbitMesh.Common" version="1.0.1" />
  </Dependencies>
  <Compatibility dotNetTargetPlatform="net10.0" />
</Package>

Version est un placeholder. Il est stampé depuis le <Version> du .csproj du projet au build - voir Construire les artefacts de release. Vous maintenez le numéro de version à un seul endroit.

Runtime (DotNet ou Python) déclare quel runtime d'Edge ExecutableFilename nécessite. Vaut DotNet par défaut si omis. Un Edge refuse de démarrer un package déclarant l'autre runtime, plutôt que d'essayer et échouer à le lancer - voir le SDK/Edge Python pour construire un package Python.

Types de setting ​

typeSignification
Boolean, String, Double, Int32, Int64, DateTime, TimeSpanScalaire simple, parsé avec GetSettingValue<T>
PasswordMême stockage que String - change juste comment la Console rend/masque le champ
JsonObjectJSON libre, lu avec GetSettingAsJson<T>()
XmlDocumentXML libre, lu avec GetSettingAsXmlDocument()
ConfigurationSectionUn bloc de config imbriqué arbitraire

Utilisez defaultValue="..." pour une valeur par défaut scalaire, ou un élément <defaultContent> pour un défaut JSON/XML multi-ligne (comme montré ci-dessus).