dennisdoomen / dennisdoomen/dotnet-library-starter-kit
[Feature]: Smoke-test the packed package on every supported target framework
- Dominant language
- C#
- Stars
- 77
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
### Background and motivation
Issue #44 added a build step that installs the locally produced package and checks for errors, which catches gross packaging failures. It does not catch the more common and more embarrassing problem: the package works on one target framework and is broken on another.
That failure mode is very real for these templates. The library multi-targets `netstandard2.0`, `netstandard2.1`, `net47` and `net10.0`, and the source-only variant ships per-framework `contentFiles` folders that are currently out of step with the project's target frameworks (see the related bug report). A consumer on the wrong framework gets missing files or a missing assembly, and no existing check would notice.
Proposal: extend the smoke test into a small consumer project that references the packed `.nupkg` from a local feed and builds against *every* supported target framework, asserting that a type from the library can be used.
### Alternative Concerns
* Building a consumer for all four target frameworks adds time to the build, though far less than the test suite does.
* `net47` cannot be built on a Linux agent, so either the smoke test stays on Windows or it skips that framework there and the limitation is documented.
* This partly overlaps with the compatible-framework side of package validation, but package validation compares API surfaces, whereas this proves that a real restore-and-build actually succeeds.
### Could you help with a pull-request?
No
Contributor guide
Research direction
Locate the build step added by issue #44 and inspect how the packed .nupkg is consumed. Use a small consumer project and local feed against netstandard2.0, netstandard2.1, net47, and net10.0; verify that a library type builds, and document or condition the net47 limitation on Linux.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system, ci-cd, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100