One of the design goals of the security transparency system in the CLR is that it should be as static as possible and not rely on dynamic state (such as the call stack) to function. A fallout of this is that we can write tools to analyze assemblies and find transparency violations in the assembly without having to trip over those violations at runtime through a test case to find them.
The primary tool that does this is the .NET Framework Security Transparency Annotator – or SecAnnotate for short. This tool will ship in the .NET 4 SDK when it releases, however it is not in the .NET 4 Beta 2 SDK. Instead, until the final release of the Framework SDK is available, SecAnnotate is available to download from this blog post.
The SecAnnotate does require that you’ve installed the .NET Framework 4 Beta 2 in order to run.
I’ll have some follow up blog posts with information on how to make use of SecAnnotate when developing your transparency aware managed code.