AttributeExporterXrmToolBoxPlugin 2.0.1.6

dotnet add package AttributeExporterXrmToolBoxPlugin --version 2.0.1.6
                    
NuGet\Install-Package AttributeExporterXrmToolBoxPlugin -Version 2.0.1.6
                    
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="AttributeExporterXrmToolBoxPlugin" Version="2.0.1.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AttributeExporterXrmToolBoxPlugin" Version="2.0.1.6" />
                    
Directory.Packages.props
<PackageReference Include="AttributeExporterXrmToolBoxPlugin" />
                    
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 AttributeExporterXrmToolBoxPlugin --version 2.0.1.6
                    
#r "nuget: AttributeExporterXrmToolBoxPlugin, 2.0.1.6"
                    
#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 AttributeExporterXrmToolBoxPlugin@2.0.1.6
                    
#: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=AttributeExporterXrmToolBoxPlugin&version=2.0.1.6
                    
Install as a Cake Addin
#tool nuget:?package=AttributeExporterXrmToolBoxPlugin&version=2.0.1.6
                    
Install as a Cake Tool

Attribute Metadata Exporter

XRM ToolBox plugin for exporting Dataverse/Dynamics 365 attribute metadata to CSV with advanced column management and enhanced data interaction.

Features

Data Management

  • Data Sources: Export from all entities or specific solution-based attributes
  • 40+ Metadata Columns: Organized into 7 categories (Core, Identity, Metadata, Behavior, Security, Audit, Advanced)
  • Column Presets: Basic (8), Standard (16), Advanced (28), Full (40+), or Custom
  • Smart Type Details: Automatically formats type-specific metadata (lookup targets, picklist options, string formats, etc.)
  • CSV Export: Export filtered results with selected columns in custom order

Interactive Grid

  • Flexible Selection: Cell-level and full-row selection modes
  • Multi-Select: Ctrl+Click for multiple selections, Shift+Click for range selection
  • Copy Support: Right-click context menu or Ctrl+C to copy selected cells/rows
  • Cell Viewer: Double-click any cell to view full content with copy button for long values
  • Dynamic Counter: Real-time display of selected attribute count
  • Sortable Columns: Click column headers to sort ascending/descending
  • Drag-Drop Reordering: Customize column order directly in grid
  • Column Management: Right-click column headers to hide columns or access column options
  • Context-Aware Menus: Right-click menus adapt based on selection state
  • Real-Time Filters: Table name, attribute name, type, required level, custom/managed, primary ID, exclude N:N tables
  • Always-Visible Panel: Expanded filter controls for quick access
  • Session-Based: Filters reset on new loads for clean slate each time
  • Smart Counters: Displays both filtered count and total attribute count

Productivity

  • Reload Solutions: Refresh solution list without reconnecting
  • Smart Button Text: "Load Attributes" changes to "Reload Attributes" after first load
  • Performance Optimized: Batch loading with ExecuteMultipleRequest for faster solution queries
  • Persistent Settings: Column preferences and widths saved across sessions

Installation

  1. Open XRM ToolBox → Tool Library (Ctrl+T)
  2. Search for "Attribute Metadata Exporter"
  3. Click Install and restart

From NuGet Package

  1. Download .nupkg from Releases
  2. XRM ToolBox → Plugins StoreInstall from disk
  3. Select .nupkg file and restart

Usage

Basic Workflow

  1. Connect to Dataverse environment
  2. Choose scope: All Entities or Selected Solution
  3. Click "Load Attributes" (becomes "Reload Attributes" after first load)
  4. Filter using table/attribute name, type, required, custom, or primary ID filters
  5. Configure columns (optional): Click "Columns..." to select preset or customize
  6. Export: Click "Export to CSV"

Working with Data

Selection & Copying
  • Select cells: Click individual cells or drag across multiple cells
  • Select rows: Click row header to select full row
  • Multi-select: Hold Ctrl and click for multiple selections
  • Range select: Hold Shift and click row headers for range selection
  • Copy data:
    • Right-click → "Copy Cell(s)" or "Copy Full Row(s)"
    • Press Ctrl+C to copy selected cells
    • Paste into Excel, Word, or any text editor
  • View long text: Double-click any cell to open viewer with "Copy Text" button
Managing Solutions
  • Reload Solutions: Click "Reload Solutions" button to refresh list without reconnecting
  • Filter by solution: Only solutions containing attributes appear in dropdown
  • Performance: Solution loading uses batch requests for optimal speed
Filtering Data
  • Apply filters: Type in text boxes or select from dropdowns - results update in real-time
  • Exclude N:N Tables: Check "Exclude N:N Tables" to filter out intersection entities from many-to-many relationships
  • Clear filters: Click "Clear Filters" button
  • Session-based: Filters reset when loading new data or changing scope
  • Counters:
    • "Showing: X of Y Total" displays filtered vs. total attribute count
    • "Selected Attributes: Z" updates as you select rows/cells

Column Presets

Preset Columns Description
Basic 8 Table/attribute names, type, required, type details, description
Standard 16 Basic + schema name, custom flag, primary ID, validity flags, version
Advanced 28 Standard + security, audit, managed status, logical attributes
Full 40+ All available metadata properties
Custom Variable Select specific columns

Available Columns by Category

  • Core (8): Table/attribute names, type, required, max length, type details, description
  • Identity (5): Schema name, metadata ID, primary ID/name flags, attribute of
  • Metadata (4): Managed, custom, introduced version, type name
  • Behavior (4): Valid for create/read/update, is logical
  • Security (4): Secured flags and can-be-secured permissions
  • Audit (1): Audit enabled
  • Advanced (1): Required level detail

Configuration Storage

Settings saved to %APPDATA%\AttributeExporter\config.json:

  • Column visibility, order, widths
  • Sort state (column and direction)
  • Selected preset

Note: Filters are session-based and do NOT persist - each load starts fresh.

Building from Source

git clone https://github.com/HurleySk/AttributeExporterXrmToolBoxPlugin.git
cd AttributeExporterXrmToolBoxPlugin
dotnet build --configuration Release
.\deploy.ps1 -Force

Deploy script options: -SkipBuild, -Force, -WhatIf

Troubleshooting

Plugin not appearing: Delete %APPDATA%\MscrmTools\XrmToolBox\Plugins\.manifestcache.dat and restart XRM ToolBox

"Object reference" errors: Missing dependencies - re-run deploy.ps1 to copy all DLLs

Slow "All Entities" load: Large environments take 30-60s - use "Selected Solution" for faster loading

Export fails: Ensure attributes loaded, at least one column visible, and CSV file not open in Excel

Solution shows 0 attributes: Only solutions containing attribute components (componenttype=2) appear - verify solution has attribute customizations

Copy/Paste not working: Ensure cells are selected (highlighted) before pressing Ctrl+C or using context menu

Technical Details

Dependencies:

  • XrmToolBoxPackage 1.2025.7.71
  • Microsoft.CrmSdk.CoreAssemblies 9.0.2.59
  • CsvHelper 12.3.2 (downgraded for .NET Framework 4.8)

Requirements: XRM ToolBox 2024.7.x+, .NET Framework 4.8

Contributing

  1. Fork repository
  2. Create feature branch
  3. Test in XRM ToolBox
  4. Submit pull request

Follow existing code patterns, add XML docs, update README for user-facing changes.

License

MIT License

Author

Samuel Hurley - HurleySk

Built on XRM ToolBox by Tanguy Touzard


Release Notes

Version 2.0.1.5 (Latest)

Fix Plugin Load Failure

  • Removed bundled System.Threading.Tasks.Extensions.dll and Microsoft.Bcl.AsyncInterfaces.dll from package — XrmToolBox provides these, and shipping duplicates caused assembly version conflicts (ReflectionTypeLoadException on startup)

Version 2.0.1.4

NuGet Package Dependency Fix

  • Added System.Threading.Tasks.Extensions.dll and Microsoft.Bcl.AsyncInterfaces.dll to NuGet package (reverted in 2.0.1.5)

Version 2.0.1.3

Code Quality Refactoring

  • Extracted Helper Methods: Consolidated duplicated PostWorkCallBack logic into shared HandleAttributesLoaded method
  • Dedicated Files: Moved SortableBindingList<T> to Models/SortableBindingList.cs and extracted inline cell viewer to Forms/CellValueViewerDialog.cs
  • Constants: Replaced magic strings ("All", "Yes", "No") with FilterCriteria constants and hardcoded component type 2 with named constant
  • Extracted Helpers: GetSelectedRowCount() method replaces 3 duplicated LINQ expressions
  • Performance: Cached reflection PropertyInfo lookups in CSV export (once per column instead of once per cell)

Version 2.0.1.2

NuGet Package Fix

  • Fixed missing CsvHelper.dll in NuGet package (fixes #1)
  • Removed unused Costura.Fody dependency

Version 2.0.1.1

Enhanced Filtering, Sorting, and Column Management

  • N:N Filter: Exclude intersection entities (many-to-many relationship tables) with checkbox filter
  • Smart Counters: Counter now shows "Showing: X of Y Total" for better filtering visibility
  • Column Sorting: Click any column header to sort ascending/descending (now working properly)
  • Column Management: Right-click column headers to hide columns or access column options
  • Context-Aware Menus: Grid context menu adapts based on whether cells are selected
  • Column Options: Added "Column Options..." to right-click menus for quick column configuration
  • UX Improvements: Prevents hiding the last visible column, clears sort state when hiding sorted column

Version 2.0.0

Major Release - Enhanced Data Interaction

  • Cell-level selection with multi-select (Ctrl+Click, Shift+Click)
  • Copy support via context menu and Ctrl+C
  • Double-click cell viewer with copy button for long values
  • Reload Solutions button for quick refresh
  • Dynamic button text ("Load" → "Reload Attributes")
  • Performance: Batch loading for solution attributes (30x faster)
  • Real-time selected attribute counter
  • Session-based filters (no persistence)
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

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
2.0.1.6 294 4/7/2026
2.0.1.5 98 4/7/2026
2.0.1.4 92 4/7/2026
2.0.1.2 101 4/7/2026
2.0.1.1 1,627 10/2/2025
2.0.0.1 252 10/2/2025
2.0.0 209 10/1/2025
1.0.6 191 10/1/2025
1.0.5 197 10/1/2025
1.0.4 188 10/1/2025
1.0.3 193 10/1/2025
1.0.2 188 10/1/2025
1.0.1 189 10/1/2025
1.0.0 191 10/1/2025

Version 2.0.1.6: New plugin icon (table/grid with CSV export arrow), update company attribution.