Frage

Wenn Sie von einer Netzwerkfreigabe ausgeführt wird, meine Anwendung löst die folgende Ausnahme:

dass die Montage erlaubt nicht teilweise vertrauenswürdigem Anrufer.

Meine Anwendung Verweise zwei DLL-Dateien:

  • BitFactory.Logging.dll
  • FileHelpers.dll

Ich bin nicht sicher, welches es ist, die Probleme mit.

  • AllowPartiallyTrustedCallersAttribute: Informieren Sie sich über sie, aber ich habe nicht die Quelle für eine der DLL-Dateien, so dass ich nicht in der Lage bin das Attribut auf diese DLL-Dateien hinzuzufügen.

  • CASPOL.EXE. Hinzugefügt meine Netzwerkfreigabe ein paar Variationen verwenden, wie caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet nichts zu beeinflussen scheint

Ich habe gebraucht CASPOL Hack vor, mit .NET 3.5, jedoch scheint es nicht die Arbeit mit .NET 4.0 jetzt. Kann jemand suggeest, wie ich umgehen kann dieses „teilweise vertrauenswürdigen Caller“ Check?

Danke.

War es hilfreich?

Lösung

.NET 4.0 hat änderten sich die Standardregeln für die Sicherheitspolitik . Sie verlassen nun die App.config Datei für diese Anwendung erstellen oder ändern müssen.

Codezugriffssicherheit (wie durch CASPOL konfiguriert) ist nun standardmäßig in .NET 4.0 ignoriert. Wenn Sie es aktivieren wollen, müssen Sie das folgende in der app.config Datei hinzuzufügen:

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

Sie können .NET 4.0 zu behandeln Code aus dem Netzwerk mit LoadFrom konfigurieren, wie voll das folgende Konfigurationselement vertraut:

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top