Laden...

CAS & Partial Trusted Library: VerificationException bei Ausführung via MsBuild

1 Antworten
3,137 Aufrufe
Letzter Beitrag: vor 18 Jahren
CAS & Partial Trusted Library: VerificationException bei Ausführung via MsBuild

Situation:

  • Einfache Library (ohne strong name) die keine speziellen Systemfunktionen benötigt und sich desshalb selber einschränkt mit
[assembly: PermissionSet(SecurityAction.RequestOptional, Name="Execution")]
  • Unit Test für diese Library

  • MsBuild Task der diesen UnitTest per Exec ausführt (NUnit + NCover; Continuous Integration...)

Wenn ich nun den Exec command (inkl. NCover) direkt auf der Shell (vom gleichen Ort mit gleichem NT user) ausführe funktioniert alles bestens, bei der Ausführung per MsBuild.exe (aus der gleichen Shell) krieg scheitern aber alle unit tests an einer verification exception:

System.TypeInitializationException : Der Typeninitialisierer für (...) hat eine Ausnahme verursacht. ----> System.Security.VerificationException : Dieser Vorgang kann die Laufzeit destabilisieren.

Die einfache Lösung wäre natürlich der Assembly einfach das FullTrust PermissionSet zu erlauben (statt nur Execution), aber das kann es nicht wirklich sein.

Kennt sich jemand mit Code Access Security aus? Im Zusammenhang mit MsBuild?

Update:

Wie erwartet:


[assembly: PermissionSet(SecurityAction.RequestOptional, Name="LocalIntranet")]

---> funktioniert nicht, gleicher Fehler


[assembly: PermissionSet(SecurityAction.RequestOptional, Name="FullTrust")]

---> funktioniert