Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

LibMan installed libraries are not picked up by MapStaticAssets

Open
#799 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
csharp
Domain
build-system

Research direction

Start with the csproj integration using Microsoft.Web.LibraryManager.Build, especially the LibraryManagerRestore target and the static web assets targets named in the report. Reproduce with dotnet publish and inspect the generated PROJECTNAME.staticwebassets.endpoints.json. Done means libraries restored into wwwroot/lib appear in that manifest even when the folder did not exist before the build.

Written by the indexing model from the issue text.

Description

Describe the bug

When using .NET 9's MapStaticAssets, existing assets in wwroot are picked up and compressed during build.
However, using Microsoft.Web.LibraryManager.Build, the libraries installed via libman in wwwroot/lib are not picked up.
I've tried numerous combinations of adding a target that tries to trigger the LibraryManagerRestore target before various other targets that sound like they are looking for assets (like ResolveStaticWebAssetsInputs or ResolveProjectStaticWebAssets) but none of that seems to work.

To Reproduce

Steps to reproduce the behavior:

  1. Create a csproj that uses the ASP.NET web SDK with library manager (including Microsoft.Web.LibraryManager.Build) and restores libraries using libman into wwwroot/lib
  2. run dotnet publish --configuration release --output ./dist
  3. Check the generated static web assets file in the output (cat dist/PROJECTNAME.staticwebassets.endpoints.json)
  4. Find that it does not contain any files that were restored by libman in wwwroot/lib
Expected behavior

LibMan restored files are included in the static web assets manifest.

Additional context

Note that this is rather hard to reproduce in an IDE, since it will usually automatically restore the libman libraries.
If the wwwroot/lib folder exists BEFORE the build is started, it is also correctly picked up by the static web assets tooling.
We've hit the problem during CI builds.

dotnet --version: 9.0.305
Microsoft.Web.LibraryManager.Build: 3.0.71

Dominant language
C#
Stars
486
Forks
91
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from aspnet/LibraryManager

All issues in aspnet/LibraryManager

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.