Mat*_*o97 5 c# visual-studio asp.net-core blazor
我试图在 Blazor 中拥有 2 个客户端项目和 1 个服务器项目。因此,我创建了一个新的 Blazor WebAssembly 应用程序,并选中了 https、asp.net Core 托管和渐进式 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)" />
Run Code Online (Sandbox Code Playgroud)
我认为我不需要修改这个文件,那么我应该修改什么?
好吧,我可能已经找到了必须在哪里编写标签,我认为这对其他人会有帮助。我打开了 2 个客户端的 csproj,并在 PropertyGroup 标签下写道:
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
<StaticWebAssetBasePath>.clientA</StaticWebAssetBasePath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
对于我的客户 B
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<RazorLangVersion>3.0</RazorLangVersion>
<StaticWebAssetBasePath>.clientB</StaticWebAssetBasePath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
现在错误消失了。
归档时间: |
|
查看次数: |
2199 次 |
最近记录: |