I think the probability of getting this working is extremely low.  The
execution engine and the type system (implemented in the mscorlib BCL
assembly) are very intimately interrelated.  The core engine is
implementation dependent on its matching mscorlib and vice versa. 

Note that the copy of mscorlib that you see loading is not loaded from
the GAC but is loaded from the versioned directory where the .NET
Framework unmanaged code is stored:
%windir%\microsoft.net\framework\v1.0.3705

My understanding of the .NET Framework loading (from design discussions,
not from stepping through the code) is that the CLR version selection
shim determines the base directory location for a version of the CLR and
loads mscorwks.dll (or mscorsvr.dll on servers) from that location which
then loads the mscorlib.dll assembly from the same directory.

Regardless of the actual loading process, even if there were a way to
force the .NET Framework to load the SSCLI version of mscorlib, I
suspect things would go wrong very quickly since the two are not
compatible (eg: no COM interop support in the SSCLI implementation).  As
far as I know, these two files (mscorwks and mscorlib) always version
together at the same time and there's no intended support of
cross-version (much less cross-implementation) loading of mscorlib.

John

This posting is provided "AS IS" with no warranties, and confers no
rights.

-----Original Message-----
From: Donal Lafferty [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, August 13, 2002 6:20 AM
To: [EMAIL PROTECTED]
Subject: Executing Rotor assemblies in commercial CLR


I understand postings else where that source level debugging of C#
assemblies is only available in VisualStudio.NET for code being executed
by the commercial runtime.  My problem is that I can't seem to get
VisualStudio.NET to use rotor's MSCORLIB.DLL.  Whenever it starts an
executable, it goes to the GAC and grabs the MSCORLIB.DLL from there, as
shown by the first line of the output window:

'DefaultDomain': Loaded 'c:\windows\microsoft.net\framework\v1.0.3705
\mscorlib.dll', No symbols loaded.

What is the best way to force the commercial CLR to use Rotor's
MSCORLIB.DLL?


DL

Reply via email to