Pregunta

Estamos frente a un problema extraño. Tenemos un control de usuario escrito en WPF y hemos añadido un controlador de eventos click en el archivo XAML. En el sistema local funciona como se esperaba. Pero cuando se genera la acumulación en el servidor (donde tenemos el repositorio de código), nos damos cuenta de que la construcción resultante tiene un error. El fallo es que el evento de clic cada vez que se genera el doble para este control. Estamos utilizando un OpenFileDialog en la función de controlador de eventos para navegar por las imágenes. Nos dimos cuenta de que construir el sistema local a través de VS utiliza CSC.exe para la construcción, mientras que en el servidor que utilizamos MSBuild.exe. Por eso hemos intentado construir utilizando MSBuild en nuestro sistema local también. Pero fallo no se reproduce en el sistema local. Construyendo el código en el sistema del servidor usando VS además no reproducir el error. Por lo tanto, la única manera de repro el error es generar la construcción automática en el servidor. Hemos tratado de comparar el código de ambos IL dlls (con errores y no con errores). Verificamos código IL para la función de controlador de eventos. El código IL es idéntico.

No sospecha que nuestro código ya que el fallo no se reproduce en nuestro sistema local bajo ninguna circunstancia. Por favor, hágamelo saber si usted necesita más entradas / detalles.

Cualquier ayuda será apreciada.

Gracias, Mishal

¿Fue útil?

Solución 2

BTW esto fue 'fijo' (solución) con bastante facilidad. Bug desaparece si se agrega el controlador de eventos Click para el botón de código en lugar de a partir de XAML: | Creo que podría haber algún error de MS en XAML cargador. No estoy seguro de si otros ar efacing esto también, pero nos enfrentamos a este error de forma activa en más de 2 puntos. El único eslabón perdido es bajo qué circunstancias el aparece de errores. Hasta ahora hemos visto que en caso de un solo botón. No está seguro de dónde más esto parece

Otros consejos

(VS está utilizando MSBuild.)

En VS, conjunto

Herramientas \ Opciones \ Proyectos y Soluciones \ generar y ejecutar \ MSBuild producto del proyecto verbosidad

a 'diagnóstico', a continuación, limpiar el proyecto, su construcción, y capturar el registro de la ventana de salida.

Comparar con la salida de "msbuild.exe / v: diag ...". Ejecutarse en el servidor

Con suerte que encontrar la fuente de la disparidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top