【问题标题】:Multiple clients and one server Blazor assets conflict多个客户端和一个服务器 Blazor 资产冲突
【发布时间】:2020-12-09 10:38:22
【问题描述】:

我试图在 Blazor 中拥有 2 个客户端项目和 1 个服务器项目。 因此,我创建了一个新的 Blazor WebAssembly 应用程序,托管了 https、asp.net 核心并检查了渐进式 Web 应用程序检查。

现在我有 3 个自动生成的项目,客户端、服务器和共享项目。

假设我需要另一个必须与同一服务器通信的客户端项目。

我添加了一个新的 blazor 项目,我选择了 Blazor WebAssembly 应用程序,但这次我取消选中 ASP.NET Core 托管和渐进式 Web 应用程序(我不需要此应用程序脱机工作)。

所以现在我有 2 个客户端、1 个服务器、1 个共享项目。

接下来我要做的是将我的服务器的引用添加到新的客户端项目。

在出现此错误之前一切正常:

Blazor 静态资源 - 具有相同路径的冲突资源

我在 github 上找到了这个讨论:https://github.com/dotnet/aspnetcore/issues/20580

他们说您必须将<StaticWebAssetBasePath>clientA</StaticWebAssetBasePath> <StaticWebAssetBasePath>clientB</StaticWebAssetBasePath> 写入您的客户项目中。

当我点击错误时,Visual Studio 向我显示一个名为 Microsoft.Net.Sdk.Razor.StaticWebAssets.targets 的文件并将我带到第 191 行,即:

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

我认为我不必修改这个文件,那我应该修改什么?

【问题讨论】:

    标签: c# visual-studio asp.net-core blazor


    【解决方案1】:

    好的,我可能已经找到了我必须写标签的地方,我认为这对其他人会有所帮助。 我打开了我的 2 个客户的 csproj,并在我写的 PropertyGroup 标签下:

    <PropertyGroup>
        <TargetFramework>netstandard2.1</TargetFramework>
        <RazorLangVersion>3.0</RazorLangVersion>
        <StaticWebAssetBasePath>.clientA</StaticWebAssetBasePath>
      </PropertyGroup>
    

    对于我的客户 B

    <PropertyGroup>
        <TargetFramework>netstandard2.1</TargetFramework>
        <RazorLangVersion>3.0</RazorLangVersion>
        <StaticWebAssetBasePath>.clientB</StaticWebAssetBasePath>
      </PropertyGroup>
    

    现在错误消失了。

    【讨论】:

      猜你喜欢
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多