> For the complete documentation index, see [llms.txt](https://windows.help.formit.autodesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windows.help.formit.autodesk.com/it/plugins/how-to-develop-plugins/advanced-development/versioning.md).

# Controllo delle versioni

Durante lo sviluppo e l'aggiornamento del plug-in, ad un certo punto potrebbe essere necessario specificare una versione del codice.

Ad esempio, le API di FormIt possono cambiare da una release all'altra e, sebbene si desideri la nuova versione del plug-in per utilizzare le nuove API di FormIt o WSM, si desidera anche mantenere funzionante il plug-in in client meno recenti.

A partire da FormIt **v18.0**, è possibile implementare il controllo delle versioni per il plug-in in 3 semplici passaggi:

* Aggiungere un file *versions.json* alla directory principale del plug-in.
* Specificare ogni versione compatibile di FormIt e la directory contenente tali file di plug-in in *versions.json*.
* Utilizzare il numero di versione interna di FormIt, o il numero di build, disponibile in FormIt in Info > Informazioni su.

### Come organizzare il controllo delle versioni per il plug-in

Organizzare i file e le directory dei plug-in in modo che corrispondano a *versions.json*.

Il file *versions.json* dovrebbe essere simile al seguente:

```
        [
            {
                "version":{
                    "major":18,
                    "minor":0
                },
                "path":"v18_0"
            },
            {
                "version":{
                    "major":19,
                    "minor":1
                },
                "path":"v19_0"
            }
        ]
```

I percorsi precedenti *v18\_0* e *v19\_0* devono essere percorsi secondari validi della directory principale/del repository.

![](/files/tnWnZpzdO9qPlZjQJgLT)

![](/files/N7k6r8Y1GvOI1NcKSPcR)

![](/files/k2JbFgZtiePmc6mIYiVq)

Un modo efficace per gestire questa situazione consiste nello spostare il codice del plug-in nelle sottodirectory. Utilizzando il file *versions.json* riportato sopra, una struttura di directory sarebbe simile alla seguente:

* **versions.json** (file)
* **v18\_0** (directory)
  * **manifest.json** (file)
  * **plugin.html** (file)
  * **plugin.js** (file)
* **v19\_0** (directory)
  * **manifest.json** (file)
  * **plugin.html** (file)
  * **plugin.js** (file)

Le proprietà facoltative della versione sono "exactVersion" e "lastVersion". "exactVersion" indica che la versione deve corrispondere esattamente a quella di FormIt. "lastVersion" indica l'ultima versione consentita per l'esecuzione in FormIt.\\

```
[
    {
      "version":{
        "major":18,
        "minor":0,
        "exactVersion":true
        },
        "path":"v18_0"
    },
    {
        "version":{
            "major":19,
            "minor":1,
            "lastVersion":true
       },
        "path":"v19_0"
    }
 ]
```

È inoltre possibile utilizzare rami/tag/commit Git per i percorsi.

Se si utilizza una build pre-release o beta di FormIt e si desidera testare le modifiche apportate ad un plug-in che funziona solo con la versione pre-release:

* Seguire i passaggi descritti sopra, tranne l'utilizzo del nome file *versions\_prerelease.json*.
* Se si conferma *versions\_prerelease* nel repository, sarà necessario rimuoverlo quando viene rilasciata la versione pre-release di FormIt.
  * In caso contrario, le versioni di FormIt pre-release future caricheranno il plug-in da una posizione che potrebbe essere obsoleta o destinata ad una versione precedente.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://windows.help.formit.autodesk.com/it/plugins/how-to-develop-plugins/advanced-development/versioning.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
