Attività GenerateResource

Aggiornamento: novembre 2007

Converte i file txt e resx (formato di risorsa basato su XML) in file resources binari di Common Language Runtime che è possibile incorporare in un eseguibile binario di runtime o compilare in assembly satellite. Questa attività viene in genere utilizzata per convertire file txt o resx in file resources. Dal punto di vista funzionale, l'attività GenerateResource è simile a resgen.exe.

Parametri

Nella tabella riportata di seguito sono descritti i parametri dell'attività GenerateResource.

Parametro

Descrizione

FilesWritten

Parametro di output ITaskItem[] facoltativo.

Contiene i nomi di tutti i file scritti su disco, incluso, se presente, il file di cache. Questo parametro è utile per le implementazioni di Clean.

OutputResources

Parametro di output ITaskItem[] facoltativo.

Specifica il nome dei file generati, ad esempio i file resources. Se non si specifica un nome, viene utilizzato il nome del file di input corrispondente e il file resources creato viene inserito nella directory contenente il file di input.

PublicClass

Parametro Boolean facoltativo.

Se il parametro è impostato su true, crea una classe di risorse fortemente tipizzata come classe pubblica.

References

Parametro String[] facoltativo.

Specifica i riferimenti per il caricamento dei tipi nei file resx. Gli elementi dei dati di questo tipo di file possono essere di tipo .NET. Quando il file resx viene letto, deve essere risolto. In genere, è possibile risolverlo correttamente utilizzando le regole di caricamento dei tipi standard. Se in References vengono forniti assembly, questi avranno la precedenza.

Questo parametro non è obbligatorio per le risorse fortemente tipizzate.

Sources

Parametro ITaskItem[] obbligatorio.

Specifica gli elementi da convertire. Gli elementi passati a questo parametro devono avere una delle seguenti estensioni di file:

  • .txt - Specifica l'estensione di un file di testo da convertire. I file di testo possono contenere soltanto risorse di tipo stringa.

  • .resx - Specifica l'estensione di un file di risorse basato su XML da convertire.

  • .restext - Specifica lo stesso formato dell'estensione txt. Questa diversa estensione è utile per distinguere in modo chiaro i file di origine contenenti risorse dagli altri file di origine del processo di compilazione.

  • .resources - Specifica l'estensione di un file di risorse da convertire.

StateFile

Parametro ITaskItem facoltativo.

Specifica il percorso di un file di cache facoltativo utilizzato per rendere più rapido il controllo delle dipendenze dei collegamenti nei file di input resx.

StronglyTypedClassName

Parametro String facoltativo.

Specifica il nome della classe di risorse fortemente tipizzata. Se questo parametro non è specificato, viene utilizzato il nome base del file di risorse.

StronglyTypedFilename

Parametro ITaskItem facoltativo.

Specifica il nome del file di origine. Se questo parametro non è specificato, il nome della classe viene utilizzato come nome base e l'estensione viene determinata dal linguaggio. Ad esempio: MyClass.cs.

StronglyTypedLanguage

Parametro String facoltativo.

Specifica il linguaggio da utilizzare per la generazione dell'origine della classe per la risorsa fortemente tipizzata. Questo parametro deve corrispondere esattamente a uno dei linguaggi utilizzati da CodeDomProvider, ad esempio: VB o C#.

Il passaggio di un valore a questo parametro determina la generazione di risorse fortemente tipizzate.

StronglyTypedNamespace

Parametro String facoltativo.

Specifica lo spazio dei nomi da utilizzare per l'origine della classe generata per la risorsa fortemente tipizzata. Se questo parametro non è specificato, tutte le risorse fortemente tipizzate sono incluse nello spazio dei nomi globale.

UseSourcePath

Parametro Boolean facoltativo.

Se il parametro è impostato su true, specifica che è necessario utilizzare la directory del file di input per risolvere i percorsi di file relativi.

Note

Poiché i file resx possono contenere collegamenti ad altri file di risorse, non è sufficiente confrontare i timestamp dei file resx e resources per verificare se gli output sono aggiornati. Al contrario, l'attività GenerateResource segue i collegamenti nei file resx e controlla al tempo stesso i timestamp dei file collegati. Questo significa che in genere gli attributi Inputs e Outputs non devono essere utilizzati sulla destinazione che contiene l'attività GenerateResource. In tal modo, infatti, l'attività potrebbe essere ignorata quando invece dovrebbe essere eseguita.

Esempio

Nell'esempio riportato di seguito l'attività GenerateResource viene utilizzata per generare file resources dai file specificati dall'insieme di elementi Resx.

<GenerateResource
    Sources="@(Resx)"
    OutputResources="@(Resx->'$(IntermediateOutputPath)%(Identity).resources')">
    <Output
        TaskParameter="OutputResources"
        ItemName="Resources"/>
</GenerateResource>

Vedere anche

Concetti

Attività di MSBuild

Altre risorse

Riferimenti delle attività MSBuild