Skip to content
Back to skills

Fieldworks Managed Netfx Review

ASecurity

Review or change FieldWorks managed C# code that crosses the .NET Framework 4.8 / C# 7.3 vs SDK-style net8 boundary: project files, language-feature compatibility, test discovery across both runtimes, UI-thread marshaling, and deterministic disposal. Use whenever a change touches a .csproj, adds C# to an unfamiliar project, moves code between net48 and net8 projects, or changes test runners — even if the compile passes locally.

  • 111 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
datagoc#expressapi

Works with

  • api

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add sillsdev/FieldWorks --skill fieldworks-managed-netfx-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fieldworks Managed Netfx Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fieldworks Managed Netfx Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sillsdev-fieldworks-managed-netfx-review/badge)](https://www.skillsdirectory.com/skills/sillsdev-fieldworks-managed-netfx-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fieldworks-managed-netfx-review
description: "Review or change FieldWorks managed C# code that crosses the .NET Framework 4.8 / C# 7.3 vs SDK-style net8 boundary: project files, language-feature compatibility, test discovery across both runtimes, UI-thread marshaling, and deterministic disposal. Use whenever a change touches a .csproj, adds C# to an unfamiliar project, moves code between net48 and net8 projects, or changes test runners — even if the compile passes locally."
---

# FieldWorks Managed NetFx Review

## Compatibility Split

- Legacy product code is .NET Framework 4.8 and C# 7.3 unless a project
  explicitly targets modern .NET. The compiler will not always save you:
  check the project's `LangVersion`/target before writing modern syntax.
- New Avalonia modules may target `net8.0-windows`; do not leak C# 8+
  syntax or net8-only APIs into net48 projects. Note that
  `Src/Common/FwAvalonia/` itself is consumed from net48 hosts — verify a
  project's actual target rather than assuming Avalonia ⇒ net8.
- Legacy `.csproj` files require explicit source inclusion; SDK-style
  projects glob by default. A file added on disk is not necessarily in the
  build.
- SDK-style projects need an explicit `<RootNamespace>` for the Crowdin
  satellite-assembly build (see `fieldworks-localization-review`).

## Required Checks

- User-visible strings use `.resx` patterns where product-facing.
- UI and async code marshals to the correct UI thread (via `IUiScheduler`
  in region code) and does not use sync-over-async.
- Disposable WinForms/GDI/LCModel/test resources are owned and disposed
  deterministically; region code follows the `IDetailLifetime` rules
  (idempotent disposal, late-callback suppression, event unsubscribe).
- Test discovery changes are validated across both net48 and net8 test
  assemblies.
- Use repo scripts for evidence: `./build.ps1` and `./test.ps1` — never
  bare `dotnet build` conclusions.

## Review Red Flags

- Nullable annotations, records, file-scoped namespaces, switch
  expressions, or `using var` in net48/C# 7.3 projects.
- Broad project/test-runner changes justified only by one local test
  passing.
- Hardcoded Debug paths or absolute repo assumptions in tests.
- Skipped tests used as evidence of covered behavior.
- A new project added to disk but missing from `FieldWorks.proj`
  (traversal build) or `FieldWorks.sln` (IDE discovery).

## Handoff

Report target frameworks touched, project-file implications, test
commands/results, and any remaining compatibility risks.

## Keep This Skill Current

When a new cross-target pitfall, project-file gotcha, or runtime
difference bites a migration, add it here in the same PR; route durable
lessons through
`../fieldworks-winforms-to-avalonia-migration/references/lessons-learned.md`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…