我进行了很多搜索,阅读了有关 MsBuild、构建后作业、csproj-config 的信息,但没有成功:
位于 Blazor 组件库中的静态文件(如 css 或 js)不会复制到最终应用的 wwwroot 文件夹
我有的:
- 作为消费者的 Blazor webassembly(.Net6,客户端)项目。
- 一个 Razor-Lib-project 作为可重用控件的库,例如通知
- 还有一些,但在这里无关紧要
该库有自己wwwroot
的 CSS 和脚本。
在构建期间,文件最终在TheConsumerProject\bin\Debug\net6.0\wwwroot
. 但是当使用 IIS Express(直接从 VS)进行调试时,文件应该从TheConsumerProject\wwwroot
. 那失败了……当我手动复制文件时,它起作用了。
目标:任何消费者都不需要配置任何特殊的东西。只需引用 lib 并准备就绪。
我发现
<StaticWebAssetBasePath>
在 lib 的 csproj 中指定,但没有设法进一步了解这一点。- 使用.
<Target>
_$(MsBuildVariable)
这实际上有效,文件被复制到指定的目的地,但我没有找到指向最终应用程序的wwwroot
. - 进行了一些调整,
<ItemGroup>
但没有任何效果。
我不想使用任何项目特定的数据,比如相对路径。如果可能,这应该适用于任何项目结构。
有任何想法吗?