windows 7 - ¿Cómo resuelvo los errores de configuración con Nant 0.91?
windows-7 build (2)
Después de descargar Nant 0.91, estoy obteniendo algunos errores de configuración bastante crípticos relacionados con la configuración o la seguridad (ver a continuación).
Intento simplemente actualizar mis ejecutables de Nant de 0.86 a 0.91.
¿Cómo puedo resolver los problemas a continuación cuando construyo en una máquina con Windows 7?
log4net: ERROR XmlConfiguratorAttribute: Excepción que obtiene ConfigurationFileLocation. Debe poder resolver ConfigurationFileLocation cuando las propiedades ConfigFile y ConfigFileExtension no están configuradas. System.Security.SecurityException: solicitud del permiso de tipo ''System.Security.Permissions.FileIOPermission, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'' failed. en System.Security.CodeAccessSecurityEngine.Check (Object demand, StackCrawlMark & stackMark, Boolean isPermSet) en System.Security.CodeAccessSecurityEngine.Check (CodeAccessPermission cap, StackCrawlMark y stackMark) en System.Security.CodeAccessPermission.Demand () en System.AppDomainSetup.VerifyDir ( String dir, Boolean normalize) en log4net.Util.SystemInfo.get_ConfigurationFileLocation () en log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile (Assembly sourceAssembly, ILoggerRepository targetRepository)
La acción que falló fue: Demanda El tipo del primer permiso que falló fue: System.Security.Permissions.FileIOPermission La zona del ensamblado que falló fue: Internet
Excepción no controlada: System.Security.SecurityException: la solicitud de ConfigurationPermission falló al intentar acceder a la sección de configuración ''nant''. Para permitir que todas las personas que llaman tengan acceso a los datos de esta sección, configure el atributo de sección ''requirePermission'' como ''falso'' en el archivo de configuración donde se declara esta sección. ---> System.Security.SecurityException: solicitud del permiso de tipo ''System.Configuration.ConfigurationPermission, System.Configuration, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'' failed. en System.Security.CodeAccessSecurityEngine.Check (Object demand, StackCrawlMark & stackMark, Boolean isPermSet) en System.Security.CodeAccessSecurityEngine.Check (CodeAccessPermission cap, StackCrawlMark y stackMark) en System.Security.CodeAccessPermission.Demand () en System.Configuration.BaseConfigurationRecord. CheckPermissionAllowed (String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) --- Fin de la excepción interna stack trace --- en System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed (String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) en System.Configuration.BaseConfigurationRecord.GetSectionRecursive ( String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object & result, Object y resultRuntimeObject) en System.Configuration.BaseConfigurationRecord.GetSection (String configKey) en System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem. GetSection (String sectionName) en System.Configuration.ConfigurationManager.GetSection (String sectionName) en NAnt.Console.ConsoleStub.Framework.GetRuntimeFramework () en NAnt.Console.ConsoleStub.Main (String [] args
(La respuesta está próxima, publicando como pregunta de referencia ...)
Curiosamente, esto está relacionado con la forma en que se extraen los ejecutables del archivo Nant 0.91. (Esto no tenía sentido para mí hasta que lo probé, pero realmente funciona ...)
Fuente: http://surfjungle.blogspot.com/2011/11/tip-running-nant-091-on-windows-7.html
Descubrí que el problema estaba relacionado con la seguridad de Windows 7 porque el archivo comprimido NAnt 0.91 descargado necesitaba una configuración adicional relacionada con la seguridad: antes de extraer, debe hacer clic derecho en el archivo comprimido, seleccionar Propiedades y en la pestaña General, hacer clic en el botón etiquetado Desbloquear, luego haga clic en Aceptar en la ventana Propiedades. Ahora, extraiga el archivo a su ubicación deseada , asegúrese de que esté en la ruta del sistema, abra una nueva línea de comando y NAnt debería ejecutarse correctamente.
Tenía el mismo problema, sin embargo, mi pestaña Propiedades / General no contenía un botón de desbloqueo. (No estoy seguro de por qué, parece que esto está potencialmente relacionado con el hecho de que estoy ejecutando dentro de la máquina virtual VMWare Fusion).
Este problema parece desaparecer si utilizo algo además del extractor ZIP incorporado de Windows para extraer el archivo. Por ejemplo, utilicé 7-Zip para extraer el archivo y todo funcionó bien.