Как исправить проблему обновления Blazor webassembly 3.2.0 preview 2 в app.razor? - PullRequest
1 голос
/ 27 марта 2020

Я обновил свое приложение веб-сборки Blazor до последней версии 3.2.0 preview 2 и не могу устранить эту ошибку в App.razor

Ошибка довольно проста, NewLayout1 не может быть найден. Он существует, он наследует LayoutComponentBase, но по какой-то причине App.razor его не видит.

Что можно сделать, чтобы это исправить?

<Router AppAssembly="@typeof(Program).Assembly">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(NewLayout1)" />
    </Found>
    <NotFound>
        <LayoutView Layout="@typeof(NewLayout1)">
            <p>Sorry, there's nothing at this address.</p>
        </LayoutView>
    </NotFound>
</Router>

Тип или имя пространства имен «NewLayout1» не может быть найден (вам не хватает директивы using или ссылки на сборку?)

Невозможно преобразовать лямбда-выражение в предполагаемый тип делегата, поскольку некоторые из возвращаемых типов в блоке неявно не преобразуются в делегат. тип возврата \ Debug \ netstandard2.1 \ Razor \ App.razor.g.cs

__builder.AddAttribute(2, "Found", (Microsoft.AspNetCore.Components.RenderFragment<Microsoft.AspNetCore.Components.RouteData>)((routeData) => (__builder2) => {
                __builder2.AddMarkupContent(3, "\r\n        ");
                __builder2.OpenComponent<Microsoft.AspNetCore.Components.RouteView>(4);
                __builder2.AddAttribute(5, "RouteData", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<Microsoft.AspNetCore.Components.RouteData>(
#nullable restore
#line 3 "C:\Users\Source\Repos\Admin.Blazor.Client\Admin.UI\Client\App.razor"
                               routeData

#line default
#line hidden
#nullable disable
                ));
                __builder2.AddAttribute(6, "DefaultLayout", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck<System.Type>(
#nullable restore
#line 3 "C:\Users\\Source\Repos\Admin.Blazor.Client\Admin.UI\Client\App.razor"
                                                          typeof(NewLayout1)

#line default
#line hidden
#nullable disable
                ));
                __builder2.CloseComponent();
                __builder2.AddMarkupContent(7, "\r\n    ");
            }
            ));

1 Ответ

1 голос
/ 27 марта 2020

Что такое пространство имен NewLayout1?

Попробуйте установить @namespace Admin.UI в вашем NewLayout1 компоненте.

И убедитесь, что @using Admin.UI установлено в _Imports.razor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...