Bug 12389 - System.Linq.Expressions are missing some .NET types
Summary: System.Linq.Expressions are missing some .NET types
Alias: None
Product: Class Libraries
Classification: Mono
Component: System ()
Version: unspecified
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
Depends on:
Reported: 2013-05-24 13:58 UTC by Pierce Boggan [MSFT]
Modified: 2014-03-06 17:17 UTC (History)
7 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Pierce Boggan [MSFT] 2013-05-24 13:58:07 UTC
Description of Issue: System.Linq.Expressions are missing some .NET types like DefaultExpression
Microsoft API Link: http://msdn.microsoft.com/en-us/library/bb506649(v=vs.100).aspx
Our API Link: http://iosapi.xamarin.com/?link=N%3aSystem.Linq.Expressions

Version Information:
=== Xamarin Studio ===

Version 4.1.2 (build 2)
Installation UUID: 092b839b-e4ba-41d0-8ccc-a3bdbc960f0d
Mono 3.0.10 ((no/eff4cb5)
GTK 2.24.18
GTK# (
Package version: 300100000

=== Xamarin.Android ===

Version: 4.7.4
Android SDK: /Users/ddunkin/Library/Developer/Xamarin/android-sdk-mac_x86
Supported Android versions:
2.1 (API level 7)
2.2 (API level 8)
2.3 (API level 10)
3.1 (API level 12)
4.0 (API level 14)
4.0.3 (API level 15)
Java SDK: /usr

=== Apple Developer Tools ===

Xcode 4.6.2 (2067.2)
Build 4H1003

=== Xamarin.Mac ===

Xamarin.Mac: Not Installed

=== Xamarin.iOS ===

Version: (Business Edition)
Hash: 9eb42f8
Build date: 2013-11-04 10:49:08-0400

=== Build Information ===

Release ID: 401020002
Git revision: 0fb88a5b486ca8644238e49de32b5c5eb983305d
Build date: 2013-05-06 20:35:00+0000
Xamarin addins: 59d33fcc272e0d0f7211811131eb05d1f994a6b4

=== Operating System ===

Mac OS X 10.8.3
Darwin WS1681.local 12.3.0 Darwin Kernel Version 12.3.0
Sun Jan 6 22:37:10 PST 2013
root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
Comment 1 Miguel de Icaza [MSFT] 2013-06-20 20:51:04 UTC
Pierce what code depends on this?
Comment 3 Dave Dunkin 2013-06-21 13:18:34 UTC
Autofac, an IoC container we use, requires these types. Specifically, Autofac.Features.Metadata.MetadataViewProvider uses:
Comment 4 Brendan Zagaeski (Xamarin Team, assistant) 2014-01-07 15:14:57 UTC
Just a couple short comments to add a little activity to this bug report.

- The problem is specific to Xamarin.iOS because these Expression methods are defined in the Dynamic Language Runtime portion of Mono [1], and that part is omitted completely on Xamarin.iOS to avoid System.Reflection.Emit.

> [1] https://github.com/mono/mono/blob/master/mcs/class/dlr/Runtime/Microsoft.Scripting.Core/Ast/ParameterExpression.cs 

On the other hand, Xamarin.Android 4.10.1 does include these Expression methods. Perhaps more of the Expression methods can be re-written or maybe even just moved out of the DLR, and then added to Xamarin.iOS?

- From another user, regarding the usefulness of expanding Expression support on iOS:
Currently, the only DI/IoC container known to work on iOS is TinyIoc, but it's very primitive. DI containers use Expressions a lot to get strong typing, etc.
Comment 5 Marek Safar 2014-03-06 17:17:33 UTC
This should be fixed in upcoming XI release.