EasyAppDev.Blazor.AutoComplete.Generators
1.0.6
dotnet add package EasyAppDev.Blazor.AutoComplete.Generators --version 1.0.6
NuGet\Install-Package EasyAppDev.Blazor.AutoComplete.Generators -Version 1.0.6
<PackageReference Include="EasyAppDev.Blazor.AutoComplete.Generators" Version="1.0.6"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="EasyAppDev.Blazor.AutoComplete.Generators" Version="1.0.6" />
<PackageReference Include="EasyAppDev.Blazor.AutoComplete.Generators"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add EasyAppDev.Blazor.AutoComplete.Generators --version 1.0.6
#r "nuget: EasyAppDev.Blazor.AutoComplete.Generators, 1.0.6"
#:package EasyAppDev.Blazor.AutoComplete.Generators@1.0.6
#addin nuget:?package=EasyAppDev.Blazor.AutoComplete.Generators&version=1.0.6
#tool nuget:?package=EasyAppDev.Blazor.AutoComplete.Generators&version=1.0.6
EasyAppDev.Blazor.AutoComplete.Generators
Source generators for the Blazor AutoComplete component. Enables AOT compilation and trimming compatibility.
Features
- Zero Runtime Overhead: All code generated at build time
- AOT Compatible: No reflection, fully trimmable
- Build-Time Validation: Compile-time diagnostics for invalid expressions
- Automatic: Installed as a dependency of the core package
Installation
This package is automatically installed when you add the core AutoComplete package:
dotnet add package EasyAppDev.Blazor.AutoComplete
Source Generators
1. PropertyAccessorGenerator
Generates compiled property accessors at build time, eliminating the need for Expression.Compile() at runtime.
// Your code
<AutoComplete TextField="@(p => p.Name)" />
// Generated at build time
public static string GetName(Product p) => p.Name;
2. ExpressionValidatorGenerator
Enforces trimming-safe expression patterns with compile-time diagnostics.
// Valid: Simple property access
<AutoComplete TextField="@(p => p.Name)" />
// Invalid: Method call - triggers EBDAC001
<AutoComplete TextField="@(p => p.Name.ToUpper())" />
// Invalid: String interpolation - triggers EBDAC001
<AutoComplete TextField="@(p => $"{p.Name}")" />
3. ConfigurationApplierGenerator
Auto-generates the configuration application method with 100% parameter coverage.
Diagnostic Codes
| Code | Description |
|---|---|
| EBDAC001 | Invalid TextField Expression (must be simple property access) |
| EBDAC002 | Invalid ValueField Expression |
| EBDAC003 | Unsupported Expression Type (trimming incompatible) |
AOT Publishing
dotnet publish -c Release /p:PublishAot=true
Debugging Generators
To view generated code:
obj/Debug/net8.0/generated/
obj/Debug/net9.0/generated/
Requirements
- Targets
netstandard2.0(Roslyn analyzer requirement) - Works with .NET 8.0, .NET 9.0, and .NET 10.0 projects
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 1.0.6 - Updated all package READMEs with focused documentation for each package. Added READMEs for vector database providers (PostgreSQL, Azure AI Search, Pinecone, Qdrant, CosmosDB).