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
- Build the AssemblyName from a known-good string or resolved assembly.
- Use AssemblyAccessTo(Assembly) if you have the loaded Assembly instead.
- 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
- Construct AssemblyName from a known-good reference string.
- Use AssemblyAccessTo(Assembly) when you already have the loaded assembly.
- Validate config-supplied assembly references at startup.
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.