unoplatform/uno · error · ArgumentNullException

assemblyName

Error message

assemblyName

What it means

Thrown by XamlAccessLevel.AssemblyAccessTo(AssemblyName) when the assemblyName argument is null. The AssemblyName is stored directly as the access target identity, so null is rejected immediately.

Source

Thrown at src/SourceGenerators/System.Xaml/System.Xaml.Permissions/XamlAccessLevel.cs:47

namespace Uno.Xaml.Permissions
{
	[SerializableAttribute]
	public class XamlAccessLevel
	{
		public static XamlAccessLevel AssemblyAccessTo (Assembly assembly)
		{
			if (assembly == null)
			{
				throw new ArgumentNullException ("assembly");
			}

			return new XamlAccessLevel (assembly.GetName ());
		}
		public static XamlAccessLevel AssemblyAccessTo (AssemblyName assemblyName)
		{
			if (assemblyName == null)
			{
				throw new ArgumentNullException ("assemblyName");
			}

			return new XamlAccessLevel (assemblyName);
		}

		public static XamlAccessLevel PrivateAccessTo (string assemblyQualifiedTypeName)
		{
			if (assemblyQualifiedTypeName == null)
			{
				throw new ArgumentNullException ("assemblyQualifiedTypeName");
			}

			return new XamlAccessLevel (assemblyQualifiedTypeName);
		}

		public static XamlAccessLevel PrivateAccessTo (Type type)
		{
			if (type == null)

View on GitHub (pinned to 0418340488)

Solutions

  1. Build the AssemblyName from a known-good string or resolved assembly.
  2. Use AssemblyAccessTo(Assembly) if you have the loaded Assembly instead.
  3. Null-check the AssemblyName before calling.

Example fix

// before
var an = new AssemblyName(badRef); // may throw/null
var lvl = XamlAccessLevel.AssemblyAccessTo((AssemblyName)null);

// after
var an = new AssemblyName("MyLib, Version=1.0.0.0");
var lvl = XamlAccessLevel.AssemblyAccessTo(an);
Defensive patterns

Strategy: validation

Validate before calling

var an = new AssemblyName(reference);
// AssemblyName ctor throws on bad input; ensure reference is valid
var lvl = XamlAccessLevel.AssemblyAccessTo(an);

Type guard

static bool IsAssemblyNameValid(AssemblyName a) => a != null;

Prevention

When it happens

Trigger: Calling AssemblyAccessTo with a null AssemblyName, e.g. constructed from a failed AssemblyName.GetAssemblyName(path) call.

Common situations: Parsing assembly references from config where a name failed to parse; reflection-derived AssemblyName that came back null; copy-paste using the wrong overload.

Related errors


AI-assisted analysis of unoplatform/uno@0418340488 (2026-08-13). Data as JSON: /api/errors/feefe990e7992f31. Report an issue: GitHub.