Pregunta

Para generar documentación XML utilizando páginas de ayuda de API web para mi proyecto API web, tuve que verificar la opción "Archivo de documentación XML" en la sección "Builds" de las propiedades de My Project.Esto genera correctamente la documentación cuando construyo localmente.

Sin embargo, cuando registro, obtengo el siguiente error en el servidor de compilación:

CSC: ERROR Generando el archivo de documentación XML 'C: \ Builds \ 3 ... \ Sources \ Currentversion ... \ ProjectName \ app_data \ xmldocument.xml' ('Acceso es denegado').

No estoy seguro de por qué esto sucede, ya que crea un nuevo directorio para cada compilación de todos modos.Coloqué este problema y busqué un desbordamiento de pila, pero las únicas soluciones que encontré debían eliminar el archivo de documentación XML (que derrota el propósito de usar las páginas de ayuda de API web).¿Cómo puedo resolver esto?

¿Fue útil?

Solución

Si el archivo XML está marcado en TFS, cuando TFS obtiene los archivos en el área de trabajo en el servidor de compilación, tendrá "atributo de solo lectura" asociado con el archivo.Ahora, cuando la compilación genera el nuevo archivo XML, no podrá sobrescribir el archivo XML anterior, ya que tiene el atributo de solo lectura.

La solución es: a) Use sus scripts de compilación para modificar el atributo de archivo y hacerla leer-escribir b) Retire el archivo XML facturado a TFS para que, la construcción podrá generar el XML fácilmente.

Actualización: Si está utilizando la solución B, si el archivo es parte de su archivo de proyecto, asegúrese de eliminar el archivo del archivo CSPROJ también.

Otros consejos

Eliminar el archivo del control de origen no lo solucionó, el equipo del equipo todavía estaba tratando de acceder a ella.

pude resolverlo por enclafing app_data en la definición de compilación.

Aunque está creando un nuevo directorio para cada compilación, este directorio es solo para la producción de compilación. La compilación en realidad no ocurre en ese directorio, se produce en el espacio de trabajo TFS del servidor y la salida de compilación se copió en el nuevo directorio después. El error de acceso denegado se debe a que el archivo revisado se lee solo cuando se accede por TFS en el espacio de trabajo de Build Server y, por lo que el archivo no se puede volver a generar "sobrescrito durante la construcción.

Obtengo en este número cambiando mi ruta de salida de documentación XML a la carpeta Bin.

SO Project-> BUILD -> SALIDA Ruta de salida: bin \ Archivo de documentación XML: bin / xmldocument.xml

Le sugiero que haga esto para todas sus configuraciones de compilación (proyecto -> Construir, menú desplegable Configuración -> Seleccione todas las configuraciones)

Luego, bajo proyecto -> Áreas / Ayuda / App_start / helpPageconfig.cs Cambiar config.setDocumentationProvider a "~ / bin / xmldocument.xml"

No olvide eliminar el archivo xmldocument.xml del control de origen, ya que se vuelve a generar para cada compilación

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