{"record":{"id":"7fde55ace5332038","repo":"microsoft/aspire","slug":"failed-to-create-buildertype-fullname","errorCode":null,"errorMessage":"Failed to create '{builderType.FullName}'.","messagePattern":"Failed to create '(.+?)'\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"src/Aspire.Hosting.RemoteHost/Ats/ReferenceExpressionRef.cs","lineNumber":323,"sourceCode":"            {\n                // No closing brace - treat the rest as a literal\n                parts.Add(format[start..]);\n                break;\n            }\n\n            // Add the placeholder\n            parts.Add(format[start..(end + 1)]);\n            current = end + 1;\n        }\n\n        return [.. parts];\n    }\n\n    private static object CreateReferenceExpressionBuilder()\n    {\n        var builderType = GetRequiredHostingType(HostingTypeNames.ReferenceExpressionBuilder);\n        return Activator.CreateInstance(builderType)\n            ?? throw new InvalidOperationException($\"Failed to create '{builderType.FullName}'.\");\n    }\n\n    private static void AppendLiteral(object builder, string value)\n    {\n        var appendLiteralMethod = builder.GetType().GetMethod(\n            \"AppendLiteral\",\n            BindingFlags.Instance | BindingFlags.Public,\n            binder: null,\n            [typeof(string)],\n            modifiers: null)\n            ?? throw new InvalidOperationException($\"'{builder.GetType().FullName}' is missing AppendLiteral(string).\");\n\n        appendLiteralMethod.Invoke(builder, [value]);\n    }\n\n    private static void AppendValueProvider(object builder, object valueProvider)\n    {\n        var appendValueProviderMethod = builder.GetType().GetMethod(","sourceCodeStart":305,"sourceCodeEnd":341,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Aspire.Hosting.RemoteHost/Ats/ReferenceExpressionRef.cs#L305-L341","documentation":"CreateReferenceExpressionBuilder reflects for the Aspire.Hosting ReferenceExpression.Builder type and instantiates it with Activator.CreateInstance. If creation yields null (which CreateInstance can only do for nullable value types, but the null-check is a defensive invariant), or the type cannot be instantiated, this InvalidOperationException is thrown.","triggerScenarios":"ToValueReferenceExpression calls CreateReferenceExpressionBuilder; GetRequiredHostingType resolves the ReferenceExpressionBuilder type but Activator.CreateInstance returns null — typically because the type lacks a parameterless constructor or the wrong type was resolved.","commonSituations":"Aspire.Hosting version change renamed/restructured ReferenceExpression.Builder; trimming/AOT removed the constructor; wrong hosting assembly loaded (version conflict in bin).","solutions":["Reference a matching Aspire.Hosting version compatible with the RemoteHost code (align package versions).","Verify ReferenceExpression.Builder still has a public parameterless constructor in your referenced version.","If publishing trimmed/AOT, preserve the type/constructor with [DynamicDependency] or a TrimmerRootDescriptor.","Check loaded-assembly versions for Aspire.Hosting conflicts (fusion/AssemblyLoadContext log)."],"exampleFix":"// before (csproj)\n<PackageReference Include=\"Aspire.Hosting\" Version=\"8.0.0\" />\n\n// after\n<PackageReference Include=\"Aspire.Hosting\" Version=\"13.0.0\" /> <!-- aligned with RemoteHost -->","handlingStrategy":"try-catch","validationCode":"var builderType = typeof(ReferenceExpression).GetNestedType(\"Builder\", BindingFlags.Public);\nif (builderType?.GetConstructor(Type.EmptyTypes) is null)\n    throw new NotSupportedException(\"ReferenceExpression.Builder with parameterless ctor is unavailable; check Aspire.Hosting version.\");","typeGuard":"static bool CanCreateReferenceExpressionBuilder()\n{\n    var t = typeof(ReferenceExpression).GetNestedType(\"Builder\", BindingFlags.Public);\n    return t?.GetConstructor(Type.EmptyTypes) is not null && !t.IsAbstract;\n}","tryCatchPattern":"try\n{\n    var exprRef = referenceExpressionRef.ToValueReferenceExpression(value);\n}\ncatch (InvalidOperationException ex) when (ex.Message.StartsWith(\"Failed to create\"))\n{\n    logger.LogCritical(ex, \"Aspire.Hosting assembly mismatch: ReferenceExpression.Builder could not be created.\");\n    throw new ApplicationException(\"Update Aspire.Hosting to the version matching the RemoteHost.\", ex);\n}","preventionTips":["Keep Aspire.Hosting versions identical across all projects in the solution.","Run a smoke test of reflection-based paths after any package bump.","Add trimmer roots for Aspire.Hosting types when publishing trimmed/AOT.","Check for duplicate Aspire.Hosting assemblies in the output directory."],"tags":["reflection","activator","reference-expression","version-mismatch"],"backgroundTag":"class-not-found","analyzedSha":"25830f84bd145686607ad00c057b3f84e2e51d43","analyzedAt":"2026-09-16T11:10:06.193Z","contentChangedAt":"2026-09-16T11:10:06.193Z","schemaVersion":2},"datasetVersion":"2026-09-21T04:17:39.646Z"}