logicapps-custom-code-net10-migration
Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project/package configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 4.1w
- Forks
- 5.3k
01 前言 Front Matter
- name
- logicapps-custom-code-net10-migration
- license
- MIT
- description
- Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project/package configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.
02 资源文件 5
- 许可证LICENSE1.0 KB
- 参考文档README.md7.7 KB
- 参考文档references/migration.md11.5 KB
- 脚本scripts/migrate.py33.8 KB
- 脚本tests/test_migrate.py36.5 KB
03 SKILL.md 正文
Logic Apps custom code .NET 10 migration
Read the migration procedure before editing. Resolve bundled files relative to this skill, not the target repository. Python 3.11+ is required only for the helper; do not install dependencies or start services merely by activating this skill.
Procedure
-
Establish the solution root, custom-code
.csproj, and Logic Appshost.jsonroot. Infer existing names/layout; ask only about ambiguous project selection or effects. Read repository instructions and affected configuration, including dirty changes, inherited build/package/SDK settings, workspace and tool paths. Do not inspect C# contents unless separately authorized to diagnose a build failure. -
Run the bundled helper in its default dry-run mode:
python "<skill root>\scripts\migrate.py" --root "<solution root>"Use
--project "<csproj path>"to select among multiple custom-code projects. The helper resolvesLogicAppFolderToPublish; it does not requireFunctionsorLogicAppsfolder names. Read all reported blockers/warnings. It prints no settings values and writes nothing in dry-run mode. Default edits cover framework/SDK/publication/runtime alignment, not reference dependency parity. Preserve absent Worker packages and existing debugger configuration. Use--integrated-debugonly when coordinated launching is requested/needed. -
For a requested migration, apply the reviewed plan with the same coordinates and
--apply. Do not apply for a comparison/plan-only request. The helper guards changed files and rolls back its own completed writes on failure; it is not an atomic multi-file transaction or a persistent backup. Preserve unrelated user edits. -
If the helper refuses central/conditional/imported configuration, newer unreviewed SDK targets, or an unfamiliar debugger/layout, do not bypass the guard. Read the owning configuration, resolve scope with the user when shared projects are affected, and make targeted agent edits using repository tools. Never claim universal helper coverage. Repeat the dry run to check idempotency for supported layouts.
-
Validate with the repository's build/analyzers and approved package source. Use the exact SDK selected by VS Code, not just PATH. Verify assembly/dependency publication and generated local-function metadata. Review custom build/publication hooks and obtain separate authorization for any deployment/network effects before building; a disposable copy does not neutralize those hooks. Obtain permission for trigger/connector effects before host startup or workflow execution. Follow the installed Logic Apps runtime skill/procedure when available; otherwise perform ownership-aware VS Code launch and verify actual execution, not just debugger attachment. If the SDK's directory scan fails on a clean build, rerun the helper dry run/apply with
--ensure-output-directory, then repeat the failed build. Do not introduce the guard as a universal framework requirement. Resolve genuine missing-dependency errors individually; do not add Worker/HTTP/telemetry packages just to match a sample. -
Report changed configuration, dry-run/apply/tests, and separate states: configuration migrated, build verified, local-function execution verified. State blockers plainly. Always report the later deployment prerequisite: Azure app settings must carry
LOGIC_APPS_CUSTOMCODE_DOTNETVERSION=net10.0andFUNCTIONS_INPROC_NET8_ENABLED=1. Deployment through the Logic Apps extension in VS Code copies these settings; pipelines must explicitly include them. A local settings file alone does not configure Azure. Do not deploy, change Azure app settings, or assert cloud/production support.
Invariants
- Only upgrade the custom-code library; preserve host .NET 8 configuration.
- Preserve names, workflows, connections, authentication, storage, unrelated dependencies, workspace/task conventions, comments and secret exclusions.
- Do not add sample-only HTTP, telemetry or framework references.
- Do not introduce
Program.csor an executable worker host. LibraryMain()is not automatically executed; source preservation is intent, not verified API compatibility. - No C# rewrites, SDK installation, restore, host start, Azure mutation or persistent secret backups inside the configuration helper.
- Do not silently downgrade packages, rewrite shared package management, suppress
restore/build errors, copy .NET 10 DLLs to
net472, or manufacture passing checks.
Installation and test commands are in README.md. Bundled resources include the migration helper, regression tests, and MIT license.
04 同仓库更多 Skills
supabase-rls-policies
Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.
skill-distribution-audit
Audit a skill collection before release or investigate installer omissions, archived/template leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.
winmd-api-search
Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI/ML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).
resemble-detect
Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI
quality-playbook
Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.
azure-resource-visualizer
Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other.