tool net francia build-process nant

build process - net - Nant falla con permisos incorrectos en el servidor de compilación



nant francia (5)

¿Está ejecutando el script de Nant en una unidad de red compartida?

Si es así, es posible que deba configurar la política de Caspol de .NET para permitir que el código .NET se ejecute en un recurso compartido de red.

Usando CasPol para confiar plenamente en una acción

Este enlace podría ayudarle.

Total pregunta de novato. Estoy intentando ejecutar un script de Nant en un servidor de compilación (un script muy básico, sin hacer nada), y está fallando con el error

System.Security.SecurityException: solicitud de permiso del tipo ''System.Security.Permissions.FileIOPermission, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'' fallado.

¿Qué debo hacer para que funcione?


Creo que @TK tiene la respuesta aquí, aunque puede que no sea tan simple como si Nant se está ejecutando desde una unidad de red.

He tenido un problema similar como @Aidan. Resulta que había copiado los ensamblados nantcontrib (v .86) a mi sistema de compilación de tal manera que Windows 7 restringía el acceso a los ensamblajes nantcontrib. Para solucionar esto, primero copié el archivo zip de nantcontrib a mi VM de compilación, luego sobrescribí los ensamblados bloqueados con el contenido del .zip. Windows 7 vio que los archivos provenían del sistema local (en lugar de provenir de cualquier fuente no confiable de la que había copiado originalmente) y desbloqueó los ensamblajes.

Probablemente haya un medio más directo de confiar en los ensamblajes (como el enlace de @TK), pero esto funcionó para mí.

Si vuelve a ver este error, busque dos cosas:

Primero, Nant (v .91 alpha 2) hace un trabajo decente informando exactamente cuál es el error. Vi el mismo error que @Adian, junto con una pila de errores completa, y finalmente esta información (énfasis mío):

El ensamblado o dominio de aplicación que falló fue: NAnt.Contrib.Tasks, versión = 0.86.3319.0, Culture = neutral, PublicKeyToken = null El método que causó el error fue: NAnt.Core.Task CreateChildTask (System.Xml.XmlNode)
La zona del montaje que falló fue: internet.
La URL del ensamblado que falló fue: archivo: /// C: / Archivos de programa (x86) / NAntBuilder 2 / nantcontrib / bin / NAnt.Contrib.Tasks.dll

En segundo lugar, consulte la página de propiedades del ensamblaje infractor (en mi caso, Nant.Contrib.Tasks.dll). Si el archivo se ha copiado de una fuente no confiable, verá un botón "Desbloquear" en la sección de propiedades (debajo de Avanzado ...) junto con una nota que indica que los archivos provienen de una fuente no confiable.


Cuando descargue NAnt, debe hacer clic derecho en el archivo zip (antes de extraer todo), luego en Propiedades, y hacer clic en desbloquear archivo. Luego extrae todo y funcionará.


Mi mensaje de error mencionó la "Zona de Internet". Esto es probablemente porque descargué archivos binarios comprimidos de SourceForge. Lo comprimí y luego lo descomprimí para quitar la zona y eso me funcionó muy bien.

En Windows 7 (o similar):

  1. Seleccione todos los archivos en la carpeta NAnt
  2. Haga clic derecho, Enviar a> Carpeta comprimida (en zip)
  3. Haga clic derecho en el nuevo archivo zip y elija "Extraer todo ..."
  4. Extraer a una nueva carpeta

Los archivos extraídos ya no serán de la "Zona de Internet". Puede copiar de nuevo en el directorio original si lo desea.


Este problema se debe a que Windows configura los metadatos "Zone.Identifier" los archivos en NTFS en "Internet" (o en otra zona que debe desbloquear explícitamente para obtener acceso).

Para evitar que se escriban metadatos de seguridad de archivos al copiar archivos o, en mi caso, descomprimir un archivo zip en una unidad de red, copie el archivo zip en una carpeta local antes de descomprimirlo, como se sugirió anteriormente, o ejecute "streams.exe" herramienta de Sysinternals para eliminar esos metadatos.

Por ejemplo, si ejecuto streams.exe en exe en mi carpeta de descargas:

streams.exe *.exe Streams v1.56 - Enumerate alternate NTFS data streams Copyright (C) 1999-2007 Mark Russinovich Sysinternals - www.sysinternals.com C:/Downloads/jre-6u27-windows-x64.exe: :Zone.Identifier:$DATA 26

Normalmente, streams.exe no mostraría ninguna información de metadatos si todos los archivos se originaran en una carpeta local. Si ve estos metadatos ":Zone.Identifier:$DATA" (almacenados en NTFS como una secuencia de datos alternativa), también debería ver un botón Desbloquear en el cuadro de diálogo Propiedades de los archivos.

Para desbloquear los archivos de forma masiva, ejecute "streams.exe -s -d *.*" Desde su carpeta problemática.