C # - NET 4.0 - quella riunione non consente chiamanti parzialmente attendibili
-
27-09-2019 - |
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 esempiocaspol -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.
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>