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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.