[Blazor] libman libraries not included in first build
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- csharp
- 領域
- build-system
調査の方向性
Start with the referenced Microsoft.NET.Sdk.Publish.ComputeFiles.targets target and compare it with the Blazor MAUI build using the provided binlogs. Reproduce with the csproj, libman.json, and index.html steps, then verify that a clean first build includes the generated library files without requiring a second build.
索引モデルが issue の本文から書いたものです。
説明
Issue moved from dotnet/maui#6709
- Please respond to @campersau.
From @campersau on Saturday, April 30, 2022 6:31:24 PM
Description
Adding some client javascript libraries via libman does not include them in the first build.
When comparing the binlog with a blazor wasm build I can see that there is a _IncludePrePublishGeneratedContent target which is not present in the blazor maui build and thus any files which are generated under the wwwroot folder during the build are missing.
Here are the binlogs:
blazorbinlogs.zip
I only tested windows.
Steps to Reproduce
- New Blazor Maui App
- Add
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="2.1.161" PrivateAssets="all" />to thecsproj - Add
libman.jsonwith the following content:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "twitter-bootstrap@5.1.3",
"files": [
"css/bootstrap.min.css"
],
"destination": "wwwroot/libs/bootstrap"
}
]
}
- Update
index.htmland reference<link rel="stylesheet" href="libs/bootstrap/css/bootstrap.min.css" />instead. - Remove the
wwwroot/libsfolder and do a new build / run. This will add thelibsfolder back but the app does include the CSS file. If you run the app again without removing thewwwroot/libsfolder the CSS is included correctly.
It would be great if the libman library files were included directly in the first build.
Alternatively you can clone https://github.com/campersau/blazor-maui-libmanbug and do step 5.
Version with bug
Release Candidate 2 (current)
Last version that worked well
Unknown/Other
Affected platforms
Windows
Affected platform versions
net6.0-windows10.0.19041.0
Did you find any workaround?
Building the project a second time works correctly as the libraries are already restored.
Or copy the msbuild target from https://github.com/dotnet/sdk/blob/c53c8ac81e1bcb8118c31bc4f5622396c72e9959/src/WebSdk/Publish/Targets/ComputeTargets/Microsoft.NET.Sdk.Publish.ComputeFiles.targets#L48-L60 into the csproj.
<Target Name="_IncludePrePublishGeneratedContent" BeforeTargets="GetCopyToPublishDirectoryItems" Condition=" '$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true' ">
<ItemGroup>
<!-- First, clean up previously generated content that may have been removed. -->
<ContentWithTargetPath Remove="@(ContentWithTargetPath)" Condition="!Exists('%(Identity)')" />
<!-- Next, include any newly generated content. -->
<_WebProjectGeneratedContent Include="wwwroot\**" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);@(_ContentIncludedByDefault)" />
<ContentWithTargetPath Include="@(_WebProjectGeneratedContent)" TargetPath="%(Identity)" CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>
</Target>
Relevant log output
No response
- 主要言語
- C#
- スター
- 486
- フォーク
- 91
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aspnet/LibraryManager のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
aspnet/LibraryManager#824 · コメント 1 件 · リアクション 3 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
aspnet/LibraryManager#804 · リアクション 2 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 48/100
aspnet/LibraryManager#829 · コメント 1 件 · リアクション 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
aspnet/LibraryManager#820 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
aspnet/LibraryManager#808 · コメント 5 件 ·
aspnet/LibraryManager の issue をすべて見る
似ている issue
-
bug frontend good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
Type: enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
apache/arrow-adbc#4809 ·