Pregunta

Cuando se ejecuta desde un recurso compartido de red, mi solicitud desencadena la siguiente excepción:

que los llamadores montaje no permite parcialmente de confianza.

Mis referencias de aplicación dos archivos DLL:

  • BitFactory.Logging.dll
  • FileHelpers.dll

No estoy seguro de que uno que está teniendo problemas con.

  • AllowPartiallyTrustedCallersAttribute: Lea sobre él, pero no tengo la fuente para cualquiera de los archivos DLL, por lo que no soy capaz de añadir el atributo a esos archivos DLL.

  • CASPOL.EXE:. Agregado mi recurso compartido de red utilizando algunas variaciones, como caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet nada parece afectar

He usado caspol truco antes, con .NET 3.5, sin embargo, parece que no funciona con .NET 4.0 ahora. ¿Puede alguien suggeest de cómo me puede pasar por alto esta comprobación "de plena confianza de llamadas"?

Gracias.

¿Fue útil?

Solución

cambiaron las reglas predeterminadas para la política de seguridad . Tendrá que crear o modificar el archivo App.config para esta aplicación.

La seguridad de acceso a código (tal como está configurado por CASPOL) Ahora se ignora por defecto en .NET 4.0. Si desea activarlo es necesario agregar lo siguiente a su archivo app.config:

<configuration>
   <runtime>
      <!-- enables legacy CAS policy for this process -->
      <NetFx40_LegacySecurityPolicy enabled="true" />
   </runtime>
</configuration>

Se puede configurar .NET 4.0 a código de tratamiento desde la red mediante LoadFrom como de plena confianza con el elemento de configuración siguiente:

<configuration>
   <runtime>
      <!-- Treat assemblies from network locations as fully trusted. -->
      <!-- Caution: Do not point this loaded gun at your foot. -->
      <loadFromRemoteSources enabled="true" />
   </runtime>
</configuration>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top