-
Notifications
You must be signed in to change notification settings - Fork 346
Feature symbols
Feature Symbols (named FEATURE_{feature name}, all caps) are compilation symbols that are defined if the target platform supports a particular feature. The symbols are defined in Solutions\Common.proj file, which is included by all .csproj files that contribute to IronRuby, IronPython and the DLR build.
The following symbols are currently used:
Runtime assembly resolution (System.AppDomain.AssemblyResolve event).
Basic Console features like Console.WriteLine, Console.ReadLine.
Configuration files (System.Configuration).
The platform contains Core DLR types: statement trees and dynamic sites.
System.ComponentModel.ICustomTypeDescriptor interface.
DBNull type.
Full encoding support (code pages, by name lookup).
Full file system (Directory, File, Path, FileStream, etc.)
Full Console APIs including stdin, stdout, stderr streams, colors, etc.
DLR metadata reader available.
System.Numerics namespace (BigInteger, Complex types).
Ability to emit PDB files.
Processes and AppDomains.
Reflection.Emit.
Remoting (MarshalByRefObject).
Serialization - Serializable attribute, ISerializable interface.
System.Diagnostics.StackTrace, System.Diagnostics.StackFrame.
System.Net.Sockets.
System.Tasks.
Threads, ThreadAbortException.
System.Type.IsEquivalent()
System.ComponentModel.TypeConverter and TypeConverterAttribute types.