[Mono-dev] Repeat builds of core assemblies

"Andrés G. Aragoneses" knocte at gmail.com
Wed Apr 23 12:48:20 UTC 2014

On 23/04/14 04:14, Miguel de Icaza wrote:
>     How about if we simplify this, by using the following strategy:
>     - Move the interdependent types of those assemblies to corlib.
>     - Mark them as internal.
>     - Add InternalsVisibleTo for those assemblies towards mscorlib.
>     - Use type forwarders to bring those types back from mscorlib to the
>     correct places.
>     This way the build would be much simpler, without dependency cycles.
> The dependency cycles are embedded in the public API contracts.
> So the libraries must be built with those cycles to match Microsoft's
> public API.

I didn't propose to build binaries without dependency cycles, I just
proposed to push the implementation towards a unique assembly (which BTW
could be System.dll, no need to push it to mscorlib I guess).

> The build cycles merely encode the steps that must be taken to bring up
> those cycles on binaries.

I'm guessing that what you mean is that by using the type forwarders to
bring the types to the same assembly as they appear in MS, the metadata
would be different and therefore the ABI/API would not be the same?

More information about the Mono-devel-list mailing list