XmlSourceGenerator 1.0.0-alpha
dotnet add package XmlSourceGenerator --version 1.0.0-alpha
NuGet\Install-Package XmlSourceGenerator -Version 1.0.0-alpha
<PackageReference Include="XmlSourceGenerator" Version="1.0.0-alpha" />
<PackageVersion Include="XmlSourceGenerator" Version="1.0.0-alpha" />
<PackageReference Include="XmlSourceGenerator" />
paket add XmlSourceGenerator --version 1.0.0-alpha
#r "nuget: XmlSourceGenerator, 1.0.0-alpha"
#:package XmlSourceGenerator@1.0.0-alpha
#addin nuget:?package=XmlSourceGenerator&version=1.0.0-alpha&prerelease
#tool nuget:?package=XmlSourceGenerator&version=1.0.0-alpha&prerelease
XmlSourceGenerator
High-performance XML serialization via C# source generation with full XmlSerializer feature parity.
Features
✅ Zero Runtime Overhead - Code generated at compile time
✅ XmlSerializer Parity - 23/28 features supported (82% complete)
✅ Type Safety - Compile-time errors instead of runtime exceptions
✅ IntelliSense Support - Full IDE integration
✅ Polymorphism - [XmlInclude] and inheritance support
✅ Property Overrides - Automatic attribute inheritance for override properties
✅ Advanced Features - [XmlEnum], [XmlType], [XmlAnyElement], [XmlAnyAttribute]
✅ XML Namespaces - Full element and root namespace support
✅ Collections - Lists, arrays with customizable element names
Quick Start
dotnet add package XmlSourceGenerator
[XmlRoot("User")]
[XmlAutoGenerated]
public partial class User
{
[XmlAttribute("id")]
public int Id { get; set; }
[XmlElement("FullName")]
public string Name { get; set; }
[XmlFormat("yyyy-MM-dd")]
public DateTime BirthDate { get; set; }
}
// Usage
var user = new User { Id = 1, Name = "John", BirthDate = new DateTime(1990, 1, 1) };
var xml = user.WriteToXml();
Documentation
- 📖 Getting Started
- 🔄 Migration Guide - Migrate from XmlSerializer
- 🏷️ Attributes Reference
- 🚀 Advanced Features
- 📊 XmlSerializer Comparison
- 📚 API Reference
- 🤝 Contributing
Why XmlSourceGenerator?
| Feature | XmlSerializer | XmlSourceGenerator |
|---|---|---|
| Performance | Reflection-based | Source generation |
| Trimming Support | ⚠️ Limited | ✅ Full |
| AOT Compatible | ❌ No | ✅ Yes |
| Compile-time Safety | ❌ No | ✅ Yes |
| Code Visibility | ❌ Hidden | ✅ Visible |
Test Coverage & Quality
156 tests ensuring production-ready reliability:
- ✅ 116 Integration Tests - End-to-end feature validation
- ✅ 32 Unit Tests - Internal component verification
- ✅ 3 Thread Safety Tests - 100+ concurrent operations verified
- ✅ 5 Stress Tests - Deep nesting (10 levels) & large collections (1,000+ items)
- ✅ 7 Performance Benchmarks - BenchmarkDotNet for optimization tracking
All tests passing with comprehensive coverage of:
- Property overrides and inheritance
- XML attribute combinations
- Polymorphism and collections
- Error handling and edge cases
License
MIT © Saivineeth
| 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 (2)
Showing the top 2 NuGet packages that depend on XmlSourceGenerator:
| Package | Downloads |
|---|---|
|
TallyConnector.TDLReportSourceGenerator
Package Description |
|
|
TallyConnector.Models
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-alpha | 232 | 1/28/2026 |