2012-05-31 6 views
10

La opción Generar montajes de serialización en Visual Studio crea un MyAssembly.XmlSerializers.dll cuando se crea mi proyecto. Esta pregunta (https://stackoverflow.com/questions/934411/what-is-myassembly-xmlserializers-dll-generated-for) indica una razón por la que está allí en primer lugar, y algunas de las respuestas brindan formas de desactivarla, pero mi pregunta es ¿por qué elegirías apagarla? ¿Tenerlo encendido causa problemas en ciertas situaciones (y, de ser así, cuáles son esas situaciones)?¿Cuál es el beneficio de desactivar Conjuntos de serialización de generación?

+1

Erm, su proyecto se compilará más rápido. Ciertamente no se ejecutará más rápido. –

+1

@HansPassant: para aclarar "no se ejecutará más rápido", los ensamblajes de serialización se crean cuando la aplicación los toca, por lo que afectarán los tiempos de inicio y no el rendimiento general. –

Respuesta

5

Los únicos problemas que puede enfrentar son las herramientas de compilación, como msbuild, porque si utiliza sgen de x32 SDK en el ensamblado que es x64 explícitamente generará un error de tiempo de compilación (puede solucionarlo fácilmente configurando correctamente La ruta SGenToolPath para msbuild o target MSIL en su lugar). En mi humilde opinión, es mejor tratar con problemas de tiempo de construcción y tener un tiempo de inicio más rápido.

1

Al apagarlo, detuve los errores de compilación y tiempo de ejecución que recibía como resultado de actualizar mi aplicación a v4.0. Obtuve errores SGEN después de probar muchas de las soluciones publicadas en línea. Hacer esto solucionó ese problema.

2

Tuve que apagarlo cuando necesité firmar una aplicación "ClickOnce". No pude implementarlo con éxito con Generate Serialization Assemblies en. El MyAssembly.XmlSerializers.dll tenía referencia en el archivo de manifiesto, pero no formaba parte del paquete de implementación.

Cuestiones relacionadas