Cuando trato de ejecutar un ensamblado de .NET (boo.exe
) desde un recurso compartido de red (asignada a una unidad), se produce un error, ya que sólo está parcialmente confianza:en ejecución "de confianza" parcialmente ensamblados .NET desde un recurso compartido de red
Unhandled Exception: System.Security.SecurityException: That assembly does not allow partially trusted callers.
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
at BooCommandLine..ctor()
at Program..ctor()
at ProgramModule.Main(String[] argv)
The action that failed was:
LinkDemand
The assembly or AppDomain that failed was:
boo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67
The Zone of the assembly that failed was:
Intranet
The Url of the assembly that failed was:
file:///H:/boo-svn/bin/boo.exe
Con instrucciones de a blog post, agregué una política a la Configuración de .NET confiando totalmente en todos los ensamblajes con file:///H:/*
como su URL. Lo verifiqué ingresando la URL file:///H:/boo-svn/bin/boo.exe
en la herramienta Evaluar ensamblaje en la Configuración .NET y señalando que boo.exe tenía el permiso No restringido (que no tenía antes de la política).
Incluso con el permiso, boo.exe
no se ejecuta. Sigo teniendo el mismo mensaje de error.
¿Qué puedo hacer para solucionar este problema? ¿Hay alguna otra manera de ejecutar ensambles "parcialmente confiables" a partir de recursos compartidos de red sin tener que cambiar algo para cada ensamblaje que deseo ejecutar?
Esto no funciona en Windows 7 aparentemente –
Interesante. Es posible que los archivos ejecutables bloqueados de Windows 7 se ejecuten en recursos compartidos de red, administrados o nativos. –