如何解决多个客户端和一台服务器Blazor资产冲突
我试图在Blazor中拥有2个客户端项目和1个服务器项目。 因此,我创建了一个新的Blazor WebAssembly应用程序,托管了https,asp.net Core,并检查了Progressive Web Application。
现在我有3个自动生成的项目,即客户端,服务器和共享项目。
让我们假设我需要另一个必须与同一服务器通信的客户端项目。
我添加了一个新的blazor项目,选择了Blazor WebAssembly App,但是这次我取消选中“ 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)" />
我认为不必修改此文件,那么我应该修改什么?
解决方法
好吧,我可能已经找到了必须在哪里写标签的地方,我认为这对其他人会有所帮助。 我打开了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>
现在错误消失了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。