Domanda

Quando si esegue da una condivisione di rete, la mia applicazione genera la seguente eccezione:

che i chiamanti assemblaggio non permettono parzialmente attendibili.

I miei riferimenti applicativi due file DLL:

  • BitFactory.Logging.dll
  • FileHelpers.dll

Non sono sicuro che uno che sta avendo problemi con.

  • AllowPartiallyTrustedCallersAttribute: Leggi su di esso, ma non ho la fonte per uno dei file DLL, quindi non sono in grado di aggiungere l'attributo a quei file DLL.

  • CASPOL.EXE:. Aggiunto la mia condivisione di rete utilizzando alcune varianti, come ad esempio caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet nulla sembra influenzare

Non ho usato caspol mod prima, con .NET 3.5, tuttavia, sembra non funzionare con NET 4.0 ora. Chiunque può suggeest su come posso ignorare questo controllo "parzialmente attendibile Caller"?

Grazie.

È stato utile?

Soluzione

cambiato le regole predefinite per la politica di sicurezza . Avrete bisogno di creare o modificare il file App.config per questa applicazione.

protezione dall'accesso di codice (come configurato dal CASPOL) è ora ignorata per impostazione predefinita in .NET 4.0. Se si desidera attivare esso è necessario aggiungere la seguente al file app.config:

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

È possibile configurare .NET 4.0 per il codice ossequio dalla rete tramite LoadFrom come completamente attendibile con il seguente elemento di configurazione:

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top