Strumento per la generazione di serializzatori XML (Sgen.exe)
Lo strumento per la generazione di serializzatori XML crea un assembly di serializzazione XML per i tipi in un assembly specificato. L'assembly di serializzazione migliora le prestazioni di avvio di un XmlSerializer quando serializza o deserializza oggetti dei tipi specificati.
Sintassi
Eseguire lo strumento dalla riga di comando.
sgen [options]
Suggerimento
Affinché gli strumenti di .NET Framework funzionino correttamente, è necessario usare il Prompt dei comandi per gli sviluppatori di Visual Studio o PowerShell per gli sviluppatori di Visual Studio o impostare correttamente le variabili di ambiente Path
, Include
e Lib
. Per impostare queste variabili di ambiente, eseguire SDKVars.bat, che si trova nella directory <SDK>\<versione>\Bin.
Parametri
Opzione | Descrizione |
---|---|
/a[ssembly]:filename | Genera il codice di serializzazione per tutti i tipi contenuti nell'assembly o nell'eseguibile specificato da nomefile. È possibile indicare un solo nome file. Se questo argomento viene ripetuto, verrà utilizzato l'ultimo nome file. |
/c[ompiler]:opzioni | Specifica l'opzione da passare al compilatore C#. Tutte le opzioni di csc.exe vengono supportate dopo essere state passate al compilatore. Questa opzione può essere utilizzata per specificare che l'assembly deve essere firmato e per indicare il file di chiave. |
/d[ebug] | Genera un'immagine utilizzabile con un debugger. |
/f[orce] | Impone la sovrascrittura di un assembly esistente con lo stesso nome. L'impostazione predefinita è false. |
/help o /? | Visualizza la sintassi e le opzioni di comando dello strumento. |
/k[eep] | Impedisce l'eliminazione dei file di origine generati e di altri file temporanei al termine della compilazione nell'assembly di serializzazione. Questa opzione può essere utilizzata per determinare se lo strumento genera codice di serializzazione per un determinato tipo. |
/n[ologo] | Elimina la visualizzazione del messaggio di avvio Microsoft. |
/o[ut]:path | Specifica la directory in cui salvare l'assembly generato. Nota: il nome dell'assembly generato è composto dal nome dell'assembly di input e da "xmlSerializers.dll". |
/p[roxytypes] | Genera codice di serializzazione solo per i tipi proxy del servizio Web XML. |
/r[eference]:assemblyfiles | Specifica gli assembly a cui fanno riferimento i tipi che richiedono la serializzazione XML. Accetta più file di assembly separati da virgole. |
/s[ilent] | Evita la visualizzazione dei messaggi di operazione riuscita. |
/t[ype]:type | Genera codice di serializzazione solo per il tipo specificato. |
/v[erbose] | Visualizza output dettagliato per il debug. Elenca i tipi dell'assembly di destinazione che non possono essere serializzati con XmlSerializer. |
/? | Visualizza la sintassi e le opzioni di comando dello strumento. |
Osservazioni:
Quando lo strumento per la generazione di serializzatori XML non viene utilizzato, un oggetto XmlSerializer genera codice e un assembly di serializzazione per ogni tipo ogni volta che viene eseguita un'applicazione. Per migliorare le prestazioni dell'avvio della serializzazione XML, usare lo strumento Sgen.exe per generare tali assembly in anticipo. Tali assembly potranno quindi essere distribuiti insieme all'applicazione.
Lo strumento per la generazione di serializzatori XML può inoltre migliorare le prestazioni dei client che utilizzano i proxy del servizio Web XML per comunicare con i server, in quanto il processo di serializzazione non influisce sulle prestazioni quando il tipo viene caricato per la prima volta.
Gli assembly generati non possono essere utilizzati sul lato server di un servizio Web. Questo strumento è destinato esclusivamente ai client del servizio Web e agli scenari di serializzazione manuale.
Se l'assembly contenente il tipo da serializzare è denominato MyType.dll, l'assembly di serializzazione associato verrà denominato MyType.XmlSerializers.dll.
Nota
Lo strumento sgen
non è compatibile con i setter di sola inizializzazione. Lo strumento avrà esito negativo se l'assembly di destinazione contiene proprietà pubbliche che usano questa funzionalità.
Esempi
Il comando seguente crea un assembly denominato Data.XmlSerializers.dll per la serializzazione di tutti i tipi contenuti nell'assembly denominato Data.dll.
sgen Data.dll
Il codice che deve serializzare e deserializzare i tipi in Data.dll può fare riferimento all'assembly Data.XmlSerializers.dll.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per