[Mono-bugs] [Bug 550968] Inlining causes exceptions if assembly isn't available

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Feb 16 07:58:54 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=550968

http://bugzilla.novell.com/show_bug.cgi?id=550968#c5


Rolf Bjarne Kvinge <rkvinge at novell.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |NEW
      Info Provider|rkvinge at novell.com          |

--- Comment #5 from Rolf Bjarne Kvinge <rkvinge at novell.com> 2010-02-16 13:58:53 CET ---
For the desktop it looks like MS caches assembly loading failures.

See attached test case, disabling inline for the TestB method works, commenting
the NoInlining attribute out makes it throw a FileNotFoundException (the LoadB
method is still reached though, the exception happens when TestB is about to
execute).

For silverlight the story is a bit different: we need a way to load an assembly
dynamically (using a stream/byte array) in the way the first test case does it.

Here are a few references: 
http://msdn.microsoft.com/en-us/magazine/dd483293.aspx
http://www.wintellect.com/CS/blogs/jprosise/archive/2008/10/22/cool-silverlight-trick-3.aspx

Note that both these articles use [MethodImpl(MethodImplOptions.NoInlining)] to
prevent inlining, but the msdn article about AssemblyPart.Load doesn't use it:

http://msdn.microsoft.com/en-us/library/system.windows.assemblypart.load(VS.95).aspx

nor do the Silverlight tests we got from MS which are failing due to this
issue. I haven't been able to make a test case that fails without that
attribute either, so apparently it's not required.

Also note that AppDomain.AssemblyResolve isn't available for user code.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list