XamlConstructor 1.3.0

dotnet add package XamlConstructor --version 1.3.0
                    
NuGet\Install-Package XamlConstructor -Version 1.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XamlConstructor" Version="1.3.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XamlConstructor" Version="1.3.0" />
                    
Directory.Packages.props
<PackageReference Include="XamlConstructor">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XamlConstructor --version 1.3.0
                    
#r "nuget: XamlConstructor, 1.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package XamlConstructor@1.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XamlConstructor&version=1.3.0
                    
Install as a Cake Addin
#tool nuget:?package=XamlConstructor&version=1.3.0
                    
Install as a Cake Tool

XamlConstructor

NuGet GitHub release GitHub license ci.yml

C# source generator that generates a constructor from readonly fields in a class or struct for xaml design mode.

Installation

  • Grab the latest package on NuGet.

Basic usage

The following code:

namespace Test;

[XamlConstructor]
public partial class MyClass
{
    protected readonly IServiceProvider _serviceProvider;
    private readonly ILogger<MyClass> _logger;
    private readonly IService _service;
}

will generate:

// <auto-generated>
//     This code was generated by the XamlConstructor source generator.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>

namespace Test;

partial class MyClass
{
    /// <summary>
    /// XAML Design Mode constructor - all readonly fields will be null!
    /// </summary>
    [Obsolete("This constructor should only be used by XAML markup, and only in DesignMode.")]
    public MyClass()
    {
        this._serviceProvider = null!;
        this._logger = null!;
        this._service = null!;
    }
}

Diagnostics

XCONS01

The XamlConstructor attribute is used on a class that is not partial.

XCONS02

The XamlConstructor generation failed.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

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 Downloads Last Updated
1.3.0 85 4/9/2026