.NET Embedding errors

EM0xxx: Binding error messages

E.g. parameters, environment

EM0000: Unexpected error - Please fill a bug report at https://github.com/mono/Embeddinator-4000/issues

An unexpected error condition occurred. Please file an issue with as much information as possible, including:

  • Full build logs, with maximum verbosity
  • A minimal test case that reproduce the error
  • All version informations

The easiest way to get exact version information is to use the Xamarin Studio menu, About Xamarin Studio item, Show Details button and copy/paste the version informations (you can use the Copy Information button).

EM0001: Could not create Output directory X

The directory name specified by -o=DIR does not exists and could not be created. It might be an invalid name for the file system.

EM0002: Option X is not supported

The tool does not support the option X. It is possible that another version of the tool supports it or that it does not apply in this environment.

EM0003: The platform X is not valid.

The tool does not support the platform X. It is possible that another version of the tool supports it or that it does not apply in this environment.

EM0004: The target X is not valid.

The tool does not support the target X. It is possible that another version of the tool supports it or that it does not apply in this environment.

EM0005: The compilation target X is not valid.

The tool does not support the compilation target X. It is possible that another version of the tool supports it or that it does not apply in this environment.

EM0006: Could not find the Xcode location.

The tool could not find the currently selected Xcode location using the xcode-select -p command. Please verify that this command succeeds, and returns the correct Xcode location.

EM0007: Could not get the sdk version for '{sdk}'.

The tool could not get the SDK version using the xcrun --show-sdk-version --sdk {sdk} command. Please verify that this command succeeds, and returns the SDK version.

EM0008: The architecture '{arch}' is not valid for {platform}. Valid architectures for {platform} are: '{architectures}'.

The architecture in the error message is not valid for the targeted platform. Please verify that the --abi option is passed a valid architecture.

EM0009: The feature X is not currently implemented by the generator

This is a known issue that we intend to fix in a future release of the generator. Contributions are welcome.

EM0010: Can't merge the frameworks '{simulatorFramework}' and '{deviceFramework}' because the file '{file}' exists in both.

The tool could not merge the frameworks mentioned in the error message, because there's a common file between them.

This might indicate a bug in .NET Embedding; please file a bug report at https://github.com/mono/Embeddinator-4000/issues with a test case.

EM0011: The assembly X does not exist.

The tool could not find the assembly X specified in the arguments.

EM0012: The assembly name X is not unique

More than one assembly supplied have the same, internal name and it would not be possible to distinguish between them at runtime.

The most likely cause is that an assembly is specified more than once on the command-line arguments. However a renamed assembly still keeps it's original name and multiple copies cannot coexists.

EM0013: Can't find the assembly 'X', referenced by 'Y'.

The tool could not find the assembly 'X', referenced by the assembly 'Y'. Please make sure all referenced assemblies are in the same directory as the assembly to be bound.

EM0014: Could not find {product} ({product} {min_version} is required).

The dependency mentioned in the error message could not be found on the system.

EM0015: Could not find a valid version of {product} (found {version}, but at least {min_version} is required).

The dependency mentioned in the error message was found on the system, but it's too old. Please update to a newer version.

Could not create the symlink mentioned in the error message.

EM0026 Could not parse the command line argument 'A': *

The syntax given for the command line option A could not be parsed by the tool. It is likely incorrect, please check with the documentation or help for the correct syntax.

EM0099: Internal error *. Please file a bug report with a test case (https://github.com/mono/Embeddinator-4000/issues).

This error message is reported when an internal consistency check in .NET Embedding fails.

This indicates a bug in .NET Embedding; please file a bug report at https://github.com/mono/Embeddinator-4000/issues with a test case.

EM1xxx: Code processing

EM1010: Type T is not generated because X are not supported.

This is a warning that the type T will be ignored (i.e. nothing will be generated) because it uses X, a feature that is not supported.

Note: Supported features will evolve with new versions of the tool.

EM1011: Type T is not generated because it lacks marshaling code with a native counterpart.

This is a warning that the type T will be ignored (i.e. nothing will be generated) because it exposes something from the .NET framework that requires extra marshaling.

Note: This is something that might get supported, with some limitations, in a future version of the tool.

EM1020: Constructor C is not generated because of parameter type T is not supported.

This is a warning that the constructor C will be ignored (i.e. nothing will be generated) because a parameter of type T is not supported.

There should be an earlier warning giving more information why type T is not supported.

Note: Supported features will evolve with new versions of the tool.

EM1021: Constructor C has default values for which no wrapper is generated.

This is a warning that the default parameters of constructor C are not generating any extra code. The most common cause is that an existing method already has the same signature. E.g. in .net it's possible to have:

public class MyType {
    public MyType () { ... }
    public MyType (int i = 0) { ... }
}

In such cases only two generated init selectors will be created, both calling into Mono, but no wrapper for the later will exist.

EM1030: Method M is not generated because return type T is not supported.

This is a warning that the method M will be ignored (i.e. nothing will be generated) because it's return type T is not supported.

There should be an earlier warning giving more information why type T is not supported.

Note: Supported features will evolve with new versions of the tool.

EM1031: Method M is not generated because of parameter type T is not supported.

This is a warning that the method M will be ignored (i.e. nothing will be generated) because a parameter of type T is not supported.

There should be an earlier warning giving more information why type T is not supported.

Note: Supported features will evolve with new versions of the tool.

EM1032: Method M has default values for which no wrapper is generated.

This is a warning that the default parameters of method M are not generating any extra code. The most common cause is that an existing method already has the same signature. E.g. in .net it's possible to have:

public class MyType {
    public int Increment () { ... }
    public int Increment (int i = 0) { ... }
}

In such cases only two generated increment selectors will be created, both calling into Mono, but no wrapper for the later will exist.

EM1033: Method M is not generated because another method exposes the operator with a friendly name.

This is a warning that the method M is not generated because another method exposes the operator with a friendly name. (https://msdn.microsoft.com/library/ms229032(v=vs.110).aspx)

EM1034: Extension method M is not generated inside a category because they cannot be created on primitive type T. A normal, static method was generated.

This is a warning that an extension method on a primivite type (e.g. System.Int32) was found. In Objective-C it is not possible to create categories on primitive type. Instead the generator will be produce a normal, static method.

EM1040: Property P is not generated because of parameter type T is not supported.

This is a warning that the property P will be ignored (i.e. nothing will be generated) because the exposed type T is not supported.

There should be an earlier warning giving more information why type T is not supported.

Note: Supported features will evolve with new versions of the tool.

EM1041: Indexed properties on T is not generated because multiple indexed properties are not supported.

This is a warning that the indexed properties on T will be ignored (i.e. nothing will be generated) because multiple indexed properties are not supported.

EM1050: Field F is not generated because of field type T is not supported.

This is a warning that the field F will be ignored (i.e. nothing will be generated) because the exposed type T is not supported.

There should be an earlier warning giving more information why type T is not supported.

Note: Supported features will evolve with new versions of the tool.

EM1051: Element E is generated instead as F because its name conflicts with an important objective-c selector.

This is a warning that the element E will be generated instead as F because its name conflicts with an important objective-c selector.

Selectors on the NSObjectProtocol have important meaning in objective-c and must be overridden carefully.

Note: The list of reserved selectors will evolve with new versions of the tool.

EM1052: Element E is not generated its name conflicts with other elements on the same class.

This is a warning that Element E is not generated as its name conflicts with other elements on the same class.

EM1053: Target E is not supported for Xamarin.iOS and Xamarin.Mac. Only the framework option is considered supported and should be used.

This is a warning that target E is considered unsupported for Xamarin.iOS and Xamarin.Mac use cases.

Consumption of static or dynamic .NET Embedding libraries may require additional work steps or tweaks, and should be avoided in most use cases.

Consider removing your --target parameter or pass --target=framework instead.

EM2xxx: Code generation