Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Concurrent transforms with the same source and/or transform file can fail

Abierto
#21 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
50/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
powershell

Línea de trabajo

Localiza el código que abre los archivos de origen y de transformación durante la transformación JSON y, a continuación, inspecciona cómo las ejecuciones paralelas de MSBuild comparten esos handles. Reproduce el problema con una compilación paralela para varios targets y verifica que las transformaciones simultáneas se completen sin errores intermitentes cuando los archivos permitan lecturas compartidas.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

When using slow cheetah to transform json files we discovered that the transforms would fail intermittently. This was particularly frequent when building a project targeting multiple frameworks (net461 and netcore2.1 in this instance). The parallel build behaviour of msbuild meant it would regularly attempt to perform the same transforms at the same time (once for each target framework).

This would result in msbuild output similar to:

[17:52:50] [Step 6/12]      2>UpdateLocalAppSettings:
[17:52:50] [Step 6/12]          Beginning transformation.
[17:52:50] [Step 6/12]     15>UpdateLocalAppSettings:
[17:52:50] [Step 6/12]          Beginning transformation.
[17:52:50] [Step 6/12]          Transformation failed.

This seems to be caused by the source file being opened with exclusive access for the duration of the transform. The files need to be opened with a FileShare mode of Read to allow concurrent transformations.

Lenguaje dominante
PowerShell
Estrellas
117
Forks
38
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/json-document-transforms

Todos los issues de microsoft/json-document-transforms

Issues similares

Más issues de Build System

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.