L'opzione Genera gruppi di serializzazione in Visual Studio crea un MyAssembly.XmlSerializers.dll quando viene creato il progetto. Questa domanda (https://stackoverflow.com/questions/934411/what-is-myassembly-xmlserializers-dll-generated-for) indica un motivo per cui è presente in primo luogo e alcune risposte forniscono un modo per disattivarlo, ma la mia domanda è: perché sceglieresti di disattivarlo? L'averlo acceso causa problemi in determinate situazioni (e, in tal caso, quali sono queste situazioni)?Qual è il vantaggio di disattivare Generazione di gruppi di serializzazione?
risposta
Solo i problemi che potresti incontrare sono con gli strumenti di compilazione - come ad esempio msbuild, perché se usi sgen da x32 SDK sull'assembly che è esplicitamente x64 genererà un errore di build-time (puoi facilmente superare questo impostando correttamente Percorso SGenToolPath per MSbuild o destinazione MSIL). IMHO è meglio gestire i problemi di build time e avere tempi di avvio più rapidi.
Lo spegnimento ha interrotto gli errori di generazione ed esecuzione che stavo ottenendo a seguito dell'aggiornamento dell'applicazione alla v4.0. Stavo ricevendo errori SGEN dopo aver provato molte delle soluzioni pubblicate online. Farlo risolveva quel problema.
Ho dovuto spegnerlo quando avevo bisogno di firmare un'applicazione "ClickOnce". Non è stato possibile distribuirlo correttamente con Generate Serialization Assemblies on. MyAssembly.XmlSerializers.dll
ha avuto riferimento nel file manifest, ma non faceva parte del pacchetto di distribuzione.
Ehm, il tuo progetto si costruirà più velocemente. Certamente non funzionerà più velocemente. –
@HansPassant - per chiarire "non si eseguirà più rapidamente" - gli assembly di serializzazione vengono creati quando l'app li tocca - quindi influenzerà i tempi di avvio, non le prestazioni complessive. –