Condividi tramite


Elenco delle proprietà e proprietà

La sezione facoltativa relativa all'elenco delle proprietà consente di definire e assegnare variabili, denominate "proprietà", che possono essere utilizzate successivamente nel file di configurazione. Le proprietà definite nella presente sezione sono denominate proprietà "interne".

<!-- define expandable properties -->
<!-- optional -->
<propertylist>
 <property name="projectname" value="myproject"/>
 <property name="projectdir" value="c:\myprojects"/>
</propertylist>

È possibile utilizzare variabili, o "riferimenti a proprietà", nel file di configurazione anche se non sono state definite in questa sezione. Le variabili possono ad esempio essere definite nella riga di comando o provenire dall'ambiente.

Il funzionamento delle proprietà è basato sulla sostituzione delle stringhe e prevede l'utilizzo dell'algoritmo illustrato di seguito per trovare un valore associato alla proprietà.

  1. Viene cercato un valore nell'elenco delle proprietà esterne.
  2. Se non viene trovato, viene cercata una variabile di ambiente con lo stesso nome della proprietà.
  3. Se non viene trovata, viene cercata una definizione interna nella sezione relativa all'elenco delle proprietà (propertylist) del file di configurazione.
  4. Se questa non viene trovata, come valore viene utilizzata una stringa vuota.

Le proprietà esterne vengono passate dalla riga di comando mediante l'opzione –p. Sono disponibili tre proprietà esterne incorporate:

  • "applicationdir", che corrisponde alla directory di installazione di Dotfuscator
  • "appdatadir", che corrisponde alla directory dei dati locali di Dotfuscator
  • "configdir", che corrisponde alla directory in cui si trova il file di configurazione.

Le proprietà si rivelano utili per creare file di configurazione utilizzabili come modelli per più progetti o per versioni diverse dello stesso progetto oppure per facilitare la portabilità tra ambienti di generazione diversi.

È possibile fare riferimento a una proprietà utilizzando la sintassi riportata di seguito.

${property_name}

Nei riferimenti alle proprietà viene effettuata la distinzione tra maiuscole e minuscole, quindi ${MyProjectDir} fa riferimento a una proprietà diversa rispetto a ${myprojectdir}.

I riferimenti alle proprietà non possono essere inseriti in qualsiasi punto del file di configurazione. Al momento, questi riferimenti possono essere utilizzati solo come valori degli attributi "dir" o "name" dell'elemento <file>. Di seguito viene fornito un elenco delle sezioni in cui viene utilizzato l'elemento <file>.

inputassembly mapinput mapoutput
output tempdir assembly
removalreport transform key
loadpaths program filelist

Negli altri punti del file di configurazione, il riferimento a una proprietà viene interpretato in modo letterale.

I riferimenti alle proprietà non possono essere nidificati. In caso di nidificazione, verrà generato un errore.

Di seguito viene riportato un esempio dell'utilizzo di un riferimento a una proprietà.

<output>
 <file dir="${testdir}\output"/>
</output>

© 2002-2007 PreEmptive Solutions. Tutti i diritti riservati.