Blazor WASM - 构建错误 - "Static web asset has a conflicting web root path"

Blazor WASM - Build Error - "Static web asset has a conflicting web root path"

我在 .Net Standard 2.1 上有一个 Blazor WASM 应用程序 运行,每当我尝试构建该应用程序时,它突然开始显示以下错误。

The static web asset 'C:\MyProject\wwwroot\appsettings.json' has a conflicting web root path '/wwwroot/appsettings.json' with the project file 'wwwroot\appsettings.json'.

双击构建错误会将我带到文件中的以下部分:

C:\Program Files\dotnet\sdk.0.201\Sdks\Microsoft.NET.Sdk.Razor\build\netstandard2.0\Microsoft.NET.Sdk.Razor.StaticWebAssets.targets

    <ValidateStaticWebAssetsUniquePaths
      StaticWebAssets="@(_ReferencedStaticWebAssets)"
      WebRootFiles="@(_WebRootFiles)" />

过去几周我一直在开发该应用程序,之前从未遇到过此构建错误。

客户端 appsettings.json 文件没有任何变化。

我试过删除 bin 和 obj 文件夹、清理项目并进行完全重建 - 都没有效果。

我找到的一些文章(例如 https://docs.telerik.com/blazor-ui/knowledge-base/static-asset-conflicting-root-path )建议删除“_content”文件夹,但我没有这样的文件夹。

我已经停下来了。

有人有什么建议我可以尝试吗?

非常感谢。

如果不查看您的项目和文件结构,很难解决此错误,但您可以查找的一件事是您是否在服务器和客户端项目的同一目录中有一个 appsettings.json 文件。 (对于 ASP.NET Core 托管的 Blazor)

听起来您有两个 appsettings.json 文件,这导致了构建问题。我建议在您的项目中搜索 appsettings.json 并查看是否有重复项。 (可以像上面的答案一样在两个项目中。)

我最近 运行 喜欢这个。我的解决方案是删除服务器项目上的 bootstrap 库。 (wwwroot/lib/bootstrap/)。基本上您可能遇到的是客户端项目有一个与服务器项目匹配目录中的文件同名的文件。由于它们都打包在一起并作为静态 Web 文件提供服务,因此会产生需要解决的冲突。删除两者都行。

对于那些可能对 file/package 有类似问题的人,我只是 removed 那个文件和 build the project。然后我在它的位置 put it backrebuild 它。

也许听起来不太聪明,但我突然遇到了同样的问题,没有任何改变,这帮助我摆脱了它。