Migrate all samples to SDK-style projects#464
Conversation
|
Important Review skippedToo many files! This PR contains 300 files, which is 150 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: Repository: nanoframework/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (300)
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Fresh migration of the samples from legacy .nfproj to SDK-style <Project Sdk="nanoFramework.NET.Sdk"> (netnano1.0, PackageReference), via the NanoMigrate tool. - 154 projects converted across 111 solutions; packages.config + generated AssemblyInfo removed; solutions retargeted with the official Microsoft.VisualStudio.SolutionPersistence library (.sln + .slnx). - Backups/rollback journal cleaned after the successful migration (`nano clean`), so no .nfproj.bak or .nanomigrate/ are committed. - migration-report.md: generated by `nano migrate --report` (154 converted, 0 flagged). - Build harness (global.json + dev-local NuGet.Config) for the unpublished SDK; remove the local feed + pin the published version before merge. - Post-migration fixes: 1-Wire/OneWire.TestApp adds its used Hardware.Esp32 reference; Interop/test-application uses a ProjectReference to the stub lib; stray empty Sender project removed. Full build sweep: 152/154; the 2 AMQP apps fail on pre-existing package/Wifi rot (sample maintenance, not a migration defect); Desktop* helpers are .NET Framework, untouched. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
.nfprojproject system to SDK-style<Project Sdk="nanoFramework.NET.Sdk">projects (netnano1.0,PackageReference), produced bythe
dotnet nano migratetool.packages.configand generatedAssemblyInforemoved; solutions retargeted via the official
Microsoft.VisualStudio.SolutionPersistencelibrary (both
.slnand.slnx: project-type GUID → SDK C#/CPS GUID, path.nfproj→.csproj).PackageReferenceids and versions come from each project'spackages.config;.nuspecmetadata is folded into Pack properties; native-stub libraries keep their
AssemblyInfo.cs(
GenerateAssemblyInfo=false); resq/shared-project samples handled (no duplicate items,.projitemsimports preserved).1-Wire/OneWire.TestAppgains thenanoFramework.Hardware.Esp32referenceit uses (absent from the legacy
packages.config);Interop/test-applicationreferences theinterop stub library via a
ProjectReference(the legacy project used abin\HintPath). A strayempty
Azure-ServiceBus-Sender/Senderproject (orphan.nfproj, not in any solution) was removed.Motivation and Context
Companion PRs: nanoframework/nanoFramework.Sdk#2 and SDK-style deploy/debug: selected-device + checksum pre-check + pluggable engine-binding seam nf-Visual-Studio-extension#929.
One of several PRs for that effort, so it intentionally does not auto-close the tracking issue.
How Has This Been Tested?
dotnet nano migrateover the whole repo: 154 projects converted, 0 review flags, 0 errors; thetool is idempotent + reentrant (re-running is a no-op).
dotnet buildsweep of every SDK-style project: 152 / 154 build. The two failures are theAMQP apps, which carry pre-existing inconsistent legacy package versions (NU1605) and half-modernized
WiFi code — a sample-maintenance task, not a migration defect (the conversion was faithful). The
Desktop*helpers are regular .NET Framework projects (not nanoFramework) and are untouched.Types of changes
Checklist: