#c# #visual-studio #asp.net-core #blazor
#c# #visual-studio #asp.net-core #blazor
Вопрос:
Я пытаюсь создать 2 клиентских проекта и 1 серверный проект в Blazor. Итак, я создал новое приложение Blazor WebAssembly с https,asp.net Проверки размещенных на ядре и прогрессивных веб-приложений выполнены.
Теперь у меня есть 3 автоматически созданных проекта: клиент, сервер и общий проект.
Давайте предположим, что мне нужен другой клиентский проект, который должен взаимодействовать с тем же сервером.
Я добавляю новый проект blazor, я выбираю приложение Blazor WebAssembly, но на этот раз я снимаю флажок ASP.NET Размещенное на ядре и прогрессивное веб-приложение (мне не нужно, чтобы это приложение работало в автономном режиме).
Итак, теперь у меня есть 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)" />
Я не думаю, что мне нужно изменять этот файл, так что я должен изменить?
Ответ №1:
Хорошо, возможно, я нашел, где мне нужно было написать теги, и я думаю, что это будет полезно для других людей. Я открыл csproj моих 2 клиентов и под тегом 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>
Теперь ошибка устранена.