C # - .NET 4.0 - Cette Assemblée ne permet pas aux appelants de confiance partielle
-
27-09-2019 - |
Question
Lors de l'exécution d'un partage réseau, mon application renvoie l'exception suivante:
Cela ne permet pas l'ensemble des appelants partiellement confiance.
Mes références d'application deux fichiers DLL:
- BitFactory.Logging.dll
- FileHelpers.dll
Je ne sais pas quel est celui des problèmes avec.
-
AllowPartiallyTrustedCallersAttribute
: Lisez sur le sujet, mais je n'ai pas la source ou l'autre des fichiers DLL, donc je ne suis pas en mesure d'ajouter l'attribut à ces fichiers DLL. -
CASPOL.EXE
. Ajouté ma part de réseau en utilisant quelques variations, comme riencaspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet
semble affecter
Je l'ai utilisé CASPOL bidouille avant, avec .NET 3.5, cependant, il semble ne pas travailler avec .NET 4.0 maintenant. suggeest Quelqu'un peut-il sur la façon dont je peux désactiver cette « confiance partiel de l'appelant »?
Merci.
La solution
.NET 4.0 a changé les règles par défaut pour la politique de sécurité . Vous devrez créer ou modifier le fichier App.config
pour cette application.
Code de la sécurité d'accès (tel que configuré par CASPOL
) est maintenant ignorée par défaut dans .NET 4.0. Si vous voulez, il vous permettra besoin d'ajouter ce qui suit à votre fichier app.config
:
<configuration>
<runtime>
<!-- enables legacy CAS policy for this process -->
<NetFx40_LegacySecurityPolicy enabled="true" />
</runtime>
</configuration>
Vous pouvez configurer .NET 4.0 au code de traitement du réseau à l'aide LoadFrom
comme entièrement confiance à l'élément de configuration suivante:
<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>