Ansight.Tools.Reflection
0.1.0-pre2
See the version list below for details.
dotnet add package Ansight.Tools.Reflection --version 0.1.0-pre2
NuGet\Install-Package Ansight.Tools.Reflection -Version 0.1.0-pre2
<PackageReference Include="Ansight.Tools.Reflection" Version="0.1.0-pre2" />
<PackageVersion Include="Ansight.Tools.Reflection" Version="0.1.0-pre2" />
<PackageReference Include="Ansight.Tools.Reflection" />
paket add Ansight.Tools.Reflection --version 0.1.0-pre2
#r "nuget: Ansight.Tools.Reflection, 0.1.0-pre2"
#:package Ansight.Tools.Reflection@0.1.0-pre2
#addin nuget:?package=Ansight.Tools.Reflection&version=0.1.0-pre2&prerelease
#tool nuget:?package=Ansight.Tools.Reflection&version=0.1.0-pre2&prerelease
Ansight.Tools.Reflection
Grouped live-object reflection tools for the Ansight .NET SDK.
Registered tools:
reflect.list_rootsreflect.inspect_objectreflect.describe_typereflect.set_member_valuereflect.invoke_method
Usage
using Ansight;
using Ansight.Tools.Reflection;
var session = new DebugSessionViewModel();
var options = Options.CreateBuilder()
.WithReflectionTools(reflection =>
{
reflection.WithDefaultMemberVisibility(ReflectionMemberVisibility.PublicOnly);
reflection.WithAssemblyTraversalMode(ReflectionAssemblyTraversalMode.AllowAll);
reflection.WithNamespaceTraversalMode(ReflectionNamespaceTraversalMode.AllowAll);
reflection.AddRoot(
"session",
session,
new ReflectionRootMetadata("Current Session")
{
Description = "Active session view model",
Hints = ["debug", "session"],
ContainsSensitiveData = true
},
root => root
.AllowWritableMembers("SelectedTab")
.AllowAllWritableMembersOn<DebugSessionViewModel>()
.AllowInvokableMethods("Refresh()")
.AllowAllInvokableMethodsOn<DebugSessionViewModel>());
})
.WithReadWriteToolAccess()
.Build();
Direct object roots use weak references by default. Use AddStrongRoot(...) when the root should be retained for the lifetime of the toolsuite.
Recursive traversal is allow-listed by default. Use WithAssemblyTraversalMode(...) and WithNamespaceTraversalMode(...) to switch either boundary to AllowAll, or keep the default AllowListedOnly mode and add entries with AllowAssembly(...) / AllowNamespacePrefix(...).
Write and invoke operations are explicitly allow-listed per root:
- writable members are matched by relative member path such as
Child.Name - invokable methods are matched by
Method(Type)for root methods orPath#Method(Type)for nested targets AllowAllWritableMembersOn<T>()/AllowAllInvokableMethodsOn<T>()enable all writable members or invokable methods for reachable objects assignable to a given typeAllowAllWritableMembers()/AllowAllInvokableMethods()enable those capabilities for all reachable objects under the root
These tools are intended for local debugging only and may expose or mutate sensitive runtime state.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-browser was computed. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-maccatalyst18.0 is compatible. 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. |
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Ansight.Tools.Reflection:
| Package | Downloads |
|---|---|
|
Ansight
All-in-one Ansight SDK package for .NET apps, including core runtime, pairing, and remote tools. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.19 | 41 | 5/8/2026 |
| 0.1.0-preview.18 | 46 | 5/8/2026 |
| 0.1.0-preview.17 | 37 | 5/8/2026 |
| 0.1.0-preview.16 | 44 | 5/6/2026 |
| 0.1.0-preview.15 | 42 | 5/5/2026 |
| 0.1.0-preview.14 | 51 | 5/5/2026 |
| 0.1.0-preview.13 | 45 | 5/5/2026 |
| 0.1.0-pre9 | 59 | 5/3/2026 |
| 0.1.0-pre8 | 44 | 5/3/2026 |
| 0.1.0-pre7 | 43 | 4/30/2026 |
| 0.1.0-pre6 | 40 | 4/30/2026 |
| 0.1.0-pre5 | 39 | 4/30/2026 |
| 0.1.0-pre4 | 54 | 4/27/2026 |
| 0.1.0-pre3 | 48 | 4/21/2026 |
| 0.1.0-pre2 | 79 | 4/4/2026 |
| 0.1.0-pre12 | 53 | 5/4/2026 |
| 0.1.0-pre11 | 48 | 5/4/2026 |
| 0.1.0-pre10 | 54 | 5/3/2026 |
| 0.1.0-pre1 | 70 | 3/31/2026 |