[Mono-devel-list] csc build and SecurityPermissionAttributeproblem on cygwin

Marcus mathpup at mylinuxisp.com
Sat Feb 28 00:00:01 EST 2004

I was able to figure out how to build Mono's mscorlib using Rotor's csc, and I 
learned a little more about the problem.

Normally custom security attributes should not be defined and referenced in 
the same assembly, but mscorlib is a special case. The mscorlib is built in 
two stages. During the first stage, the security attributes are handled using 
some custom tools. This special build step is signalled by an environment 
variable  __SECURITY_BOOTSTRAP_DB, which points to one of Rotor's build 
directories. One of the consequences of defining that variable is that the 
normal restriction on defining and using security attributes seems to be 
lifted. For purposes of building Mono's mscorlib, it does not seem to matter 
where the variable points to, as long as it is defined csc will compile 
Mono's mscorlib without complaint. 

I suspect that Microsoft does something similar with .NET as far as 
bootstrapping, but I do not know if the released version of .NET's csc has an 
"escape hatch" like that environmental variable or not.

On Tuesday 24 February 2004 8:04 am, Ben Maurer wrote:

> Remember, Microsoft builds their corlib with csc. So there is no reason we
> cant build our with their csc.

More information about the Mono-devel-list mailing list