2010-01-29 7 views
6

In .Net 4 sind einige Methoden jetzt mit anderen Sicherheitsattributen versehen als in früheren Versionen (dh das neue SecurityCriticalAttribute). Um Methoden mit Sicherheitsberechtigungen zu überschreiben, müssen die relativen Sicherheitszugriffe auf die abgeleitete Deklaration mit denen auf der Basisdeklaration (oder einer Laufzeitausnahme) übereinstimmen.C#: Überschriebene Methoden mit Sicherheitsattributen in .Net 4

Ältere Assemblys kennen diese neuen Attribute nicht, und da der Code bereits kompiliert wurde und die Metadaten bereits generiert wurden, können keine Typen von Assemblys geladen werden, die eine Methode überschreiben, die jetzt das neue Attribut besitzt Sicherheitszugriffe stimmen nicht überein).

Soll .Net4 mit Pre.Net4-Baugruppen kompatibel sein? Wenn ja, gibt es einen Workaround/Lösung dafür?

+0

Ich bin an diesem interessiert. –

Antwort

1

Ich bin nicht auf dieses eine vorher gestolpert worden, aber nach etwas Forschung scheint es, dass es Legacyunterstützung gibt, indem ich die NetFx40_LegacySecurityPolicy Option verwende.

<configuration> 
    <runtime> 
    <NetFx40_LegacySecurityPolicy enabled="true" /> 
    </runtime> 
</configuration> 
+0

Ihre beiden Links sind Spam, bitte korrigieren Sie sie oder entfernen Sie sie. – Mayank